Månedligt arkiv: Maj 2011

Endnu flere jQuery–Ændre størrelsen på et billede eksempel

Jeg har arvet en webdel fra en klient gamle leverandør, og det har et imageproblem størrelse.  Billederne bør 60×50 Men for nogle underlige grund, den oprindelige forhandler tvunget dem til 42×42, så de ser squashed:

 

Godt billede

Dårligt Image

Her er opmærkningen (lidt forenklet):

<tabel class = 'extended-outlook'>
  <thead>
    <Tr>
      <th  bredde ='100′>3 Tirsdag</th>
    </Tr>
  </thead>

  <TBODY>
    <TR class = "prognose">
      <TD bredde ='100′>
        <UL>
          <Li klasse = 'høj'>Høj: 72&DEG;F</Li>
          <Li class = "lavt">Lav: 44&DEG;F</Li>
          <Li class = "stand">Solrig
            <img src =’
http://deskwx.weatherbug.com/images/Forecast/icons/localized/60×50/en/Trans/cond007.png’ bredde ='42’ højde ='42’ alt =” />
          </Li>
        </UL>
      </TD>
    </Tr>

  </TBODY>

</tabel>

Du vil bemærke, at selv om den stien til selve billedet viser den korrekte dimension (60×50) den oprindelige leverandør tvunget det i 42×42.  Hvorfor?  Tosset.

Alligevel, Jeg ønskede en hurtig og nem løsning på dette spørgsmål, og jeg vendte til jQuery.  Tricket var at finde alle de relevante <IMG> Tags.  Jeg gjorde ikke ønsker at nusse rundt med andre img-tags (hvoraf er der mange).  Denne bit af jQuery gjorde tricket:

<script type = text/javascript"" src ="http://Ajax.googleapis.com/Ajax/libs/jQuery/1.5/jQuery.min.js"></script>

<script type = "tekst/javascript">
     $(dokument).klar til(funktion () {

         $(' li.condition > IMG').hver(funktion (indeks, varen)
           
{
             $(varen).CSS("bredde", "60"); 
             $(varen).CSS("højde", "50");
            });
     }); // på dokumentet belastning
</script>

Smule kode finder samlingen <Li> Tags hvis klassen er "tilstand" og <IMG> børn.  Det gentages derefter gennem alt dette.  Arbejdede lige en indtage.

Jeg kunne nok strømline it, men jeg har aldrig været en form for unix fyr, der løst π til 18 cifre præcision ved hjælp af sed og awk og jeg er ikke slags, hvis jQuery fyr enten Smil.

</slutningen>

Abonner på min blog.

Følg mig på kvidre på http://www.twitter.com/pagalvin

Parsing af XML med LINQ

Her er et hurtigt eksempel ved hjælp af LINQ til at parse nogle  XML- og stå ved søde, Sweet attributter deri.

Her er det XML-jeg ønsker at analysere:

<?XML version = "1.0" kodning = "utf-8" ?>
<DeafultConfigurationSets>
  <PageLayouts>

    <PageLayout navn = "xyzzy">
      <Faner>
        <Under fanen TabOrder = "1" TabLabel = "x" SharePointContentType = "en" AdditionalConstraints = "ac1" />
        <Under fanen TabOrder = "2" TabLabel = "y" SharePointContentType = "b" AdditionalConstraints = "ac2" />
      </Faner>
    </PageLayout>

    <PageLayout name = "xyzzy2">
      <Faner>
        <Under fanen TabOrder = "100" TabLabel = "x" SharePointContentType = "en" AdditionalConstraints = "ac1" />
        <Under fanen TabOrder = "101" TabLabel = "y" SharePointContentType = "b" AdditionalConstraints = "ac2" />
        <Under fanen TabOrder = "103" TabLabel = "z" SharePointContentType = "c" AdditionalConstraints = "ac3" />
      </Faner>
    </PageLayout>

  </PageLayouts>
</DeafultConfigurationSets>

Jeg ønsker at opbygge nogle faner på kørselstidspunktet ved parsing af ovenstående.  Min faner afhænger af et sidelayout.  Hvis min sidelayout navn er "xyzzy2" så vil jeg få faner 100, 101 og 103 (fanerne i <PageLayout name = "xyzzy2">).

Her er den LINQ, der gør det:

var allTabs =
              fra p i
                  XElement.Parse(theXmlToParse).
                 
Elementer("PageLayouts").
                  Elementer("PageLayout")
              hvor (p.Attribute("navn").Value.Equals("xyzzy2"))
              fra m i p.Elements("Tabs").Elementer("Tab")
              Vælg m;

          Results.Text = streng.Tom;

          foreach (var aTab i allTabs)
          {
              Results.Text =
                  "Tabulatorrækkefølge: " + aTab.Attribute("TabOrder").Værdi + " |" +
                  "Fanen etiket: " + aTab.Attribute("TabLabel").Værdi + " | " +
                  "SharePointContentType: " + aTab.Attribute("SharePointContentType").Værdi + " | " +
                  "AdditionalConstraints: " + aTab.Attribute("AdditionalConstraints").Værdi + "r";
          }

I ovenstående, variablen "theXmlToParse" er en strengvariabel, men du kan bruge belastningen() metode på en stream, hvis du kan lide.

"Resultater" er en etiket på en web-formular, og når denne kode udfører, Det ser sådan ud:

SNAGHTML11cd2e7c

Jeg har ikke regnet ud, hvordan man sortere resultaterne endnu, så jeg vil overlade til en fremtidig blog-indlæg.

</slutningen>

Abonner på min blog.

Følg mig på kvidre på http://www.twitter.com/pagalvin