Månedlige Arkiver: Mai 2011

Ennå mer jQuery–Endre størrelsen på et bilde-eksempel

Jeg arvet en webdel fra en klient gamle leverandør, og den har en problem med bilde-filstørrelsen.  Bildene skal være 60×50 men for noen merkelig grunn, den originale forhandleren tvunget dem i 42×42, slik at de ser squashed:

 

God bilde

Dårlig bilde

Her er markup (noe forenklet):

<tabellen klasse = 'utvidet outlook'>
  <thead>
    <tr>
      <th  Bredde ='100′>3 Tirsdag</th>
    </tr>
  </thead>

  <tbody>
    <tr-klassen = 'Vær'>
      <TD bredde ='100′>
        <UL>
          <Li class = 'high'>Høy: 72&deg;F</Li>
          <Li class = "lav">Lav: 44&deg;F</Li>
          <Li class = "tilstand">Sunny
            <img src =’
http://deskwx.WeatherBug.com/images/Forecast/icons/localized/60×50/en/trans/cond007.PNG’ Bredde ='42’ høyde ='42’ alt =” />
          </Li>
        </UL>
      </TD>
    </tr>

  </tbody>

</tabell>

Vil du merke at selv om den banen til bildet selv viser den riktige dimensjonen (60×50) den originale forhandleren tvang det i 42×42.  hvorfor?  gal.

Allikevel, Jeg ønsket en rask og enkel løsning på dette problemet, og jeg slått til jQuery.  Trikset var å finne alle de riktige <IMG> koder.  Jeg ønsker ikke å muck med andre img-koder (som er det mange).  Denne bit av jQuery did kunsten:

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

<script type = "text/javascript">
     $(dokumentet).klar(funksjonen () {

         $(' li.condition > IMG').hver(funksjonen (index, element)
           
{
             $(element).CSS("bredden", "60"); 
             $(element).CSS("høyde", "50");
            });
     }); // på dokument-Last
</skriptet>

At litt av koden finner samlingen <Li> koder som har klasse er "tilstand" og <IMG> barn.  Det går deretter gjennom alt dette.  Arbeidet like en ynde.

Jeg kunne sannsynligvis strømlinjeforme it, men jeg var aldri en type unix-fyr som løst π til 18 sifre samplepresisjon sed og awk og jeg er ikke det slag Hvis jQuery fyren enten Smil.

</slutten>

Abonner på bloggen min.

Følg meg på Twitter på http://www.twitter.com/pagalvin

Analyse av XML med LINQ

Her er en rask eksempel bruke LINQ til å analysere noen  XML- og gå på søte, Sweet attributter deri.

Her er jeg vil analysere XML:

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

    <Navn på PageLayout = "xyzzy">
      <Faner>
        <Kategorien TabOrder = "1" TabLabel = "x" SharePointContentType = "a" AdditionalConstraints = "ac1" />
        <Kategorien TabOrder = "2" TabLabel = "y" SharePointContentType = "b" AdditionalConstraints = "ac2" />
      </Faner>
    </PageLayout>

    <Navn på PageLayout = "xyzzy2">
      <Faner>
        <Kategorien TabOrder = "100" TabLabel = "x" SharePointContentType = "a" AdditionalConstraints = "ac1" />
        <Kategorien TabOrder = "101" TabLabel = "y" SharePointContentType = "b" AdditionalConstraints = "ac2" />
        <Kategorien TabOrder = "103" TabLabel = "z" SharePointContentType = "c" AdditionalConstraints = "ac3" />
      </Faner>
    </PageLayout>

  </PageLayouts>
</DeafultConfigurationSets>

Jeg ønsker å bygge opp noen kategorier under kjøring ved analysering ovenfor.  Mine fliker, er avhengig av et sideoppsett.  Hvis min sideoppsett-navnet er "xyzzy2" deretter vil jeg få tabulatorer 100, 101 og 103 (kategoriene i <Navn på PageLayout = "xyzzy2">).

Her er LINQ som gjør det:

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

          Results.Text = streng.Tom;

          foreach (var aTab i allTabs)
          {
              Results.Text = (likhetstegn)
                  "Tabulatorrekkefølgen: " + aTab.Attribute("TabOrder").Verdi + " |" +
                  "Kategorietikett: " + aTab.Attribute("TabLabel").Verdi + " | " +
                  "SharePointContentType: " + aTab.Attribute("SharePointContentType").Verdi + " | " +
                  "AdditionalConstraints: " + aTab.Attribute("AdditionalConstraints").Verdi + "r";
          }

I de ovennevnte, variabelen "theXmlToParse" er en strengvariabel, men du kan bruke belastningen() metoden en dataflyt, hvis du liker.

"Resultater" er en etikett på et webskjema, og når denne koden utføres, Det ser ut som dette:

SNAGHTML11cd2e7c

Jeg ikke har jobbet ut hvordan du kan sortere resultatene ennå, så jeg vil la det for en fremtidig blogginnlegg.

</slutten>

Abonner på bloggen min.

Følg meg på Twitter på http://www.twitter.com/pagalvin