arhive lunare: Mai 2011

Încă mai multe jQuery–Redimensionaţi un exemplu de imagine

Am moştenit o parte web de la un client vechi furnizor si are o problema cu marimea imaginii.  Imaginile ar trebui să fie 60×50 dar pentru un motiv ciudat, producătorul original le forţat în 42×42, astfel încât acestea uita strivită:

 

Bună imagine

Bad Image

Aici este markup (oarecum simplificată):

<tabelul clasa = "extins-outlook">
  <tHead>
    <TR>
      <th  latime ='100′>3 Marţi</th>
    </TR>
  </tHead>

  <tBody>
    <TR clasa = "previziuni">
      <TD lăţime ='100′>
        <ul>
          <li clasa = 'mare'>Mare: 72&deg;F</li>
          <li clasa = 'mici'>Low: 44&deg;F</li>
          <li clasa = 'stare'>Însorit
            <img src =’
http://deskwx.weatherbug.com/images/Forecast/icons/localized/60×50/en/trans/cond007.png’ latime ='42’ inaltime ='42’ alt =” />
          </li>
        </ul>
      </TD>
    </TR>

  </tBody>

</tabel>

Veţi notă că chiar dacă calea către imaginea în sine Afişează dimensiunea corectă (60×50) producătorul original forţat-o în 42×42.  de ce?  nebun.

Oricum, Am vrut o soluţie rapidă şi uşoară la această problemă şi am apelat la jQuery.  Trucul a fost de a localiza toate corespunzătoare <IMG> Tag-uri.  Nu am vrut să muck despre cu orice alte img tag-uri (din care există multe).  Acest pic de jQuery a făcut truc:

<script-ul de tip = text/javascript"" src ="http://AJAX.googleapis.com/Ajax/libs/jQuery/1.5/jQuery.min.js"></script-ul>

<script-ul de tip = "text/javascript">
     $(document).gata(funcţia () {

         $("li.condition > img ").fiecare(funcţia (Indicele, element)
           
{
             $(element).CSS("lăţime", "60"); 
             $(element).CSS("înălţime", "50");
            });
     }); // pe documentul de încărcare
</script-ul>

Că pic de cod constată Colectia <li> Tag-uri ale căror clasă este "stare" şi <IMG> copii.  Acesta reiterează apoi prin toate că.  Worked asemãnãtor un acuzaþie.

Eu, probabil, ar putea simplifica l, dar niciodată nu a fost un fel de tip unix care π a rezolvat pentru a 18 cifre precizie folosind sed şi awk şi eu nu sunt ca un fel, în cazul în care jQuery tip fie Zâmbet.

</scop>

Aboneaza-te la blog-ul meu.

Urmaţi-mă pe Twitter, la http://www.twitter.com/pagalvin

XML Parsing cu LINQ

Aici este un exemplu rapida folosind LINQ pentru a analiza unele  XML şi a obţine la dulce, dulce atribute în aceasta.

Iată XML vreau pentru a analiza:

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

    <PageLayout nume = "xyzzy">
      <File>
        <Fila TabOrder = "1" TabLabel = "x" SharePointContentType = "a" AdditionalConstraints = "ac1" />
        <Fila TabOrder = "2" TabLabel = "y" SharePointContentType = "b" AdditionalConstraints = "ac2" />
      </File>
    </PageLayout>

    <PageLayout nume = "xyzzy2">
      <File>
        <Fila TabOrder = "100" TabLabel = "x" SharePointContentType = "a" AdditionalConstraints = "ac1" />
        <Fila TabOrder = "101" TabLabel = "y" SharePointContentType = "b" AdditionalConstraints = "ac2" />
        <Fila TabOrder = "103" TabLabel = "z" SharePointContentType = "c" AdditionalConstraints = "ac3" />
      </File>
    </PageLayout>

  </PageLayouts>
</DeafultConfigurationSets>

Vreau să construiască până unele file în timpul rulării de parsarea de mai sus.  Meu file depind de o machetă de pagină.  Dacă numele meu macheta de pagină este "xyzzy2", atunci vreau să obţineţi file 100, 101 şi 103 (filele din <PageLayout nume = "xyzzy2">).

Iată LINQ care nu este:

var allTabs =
              din p în
                  XElement.Parse(theXmlToParse).
                 
Elemente("PageLayouts").
                  Elemente("PageLayout")
              în cazul în care (p.attribute("Nume").Value.Equals("xyzzy2"))
              la m în p.Elements("File").Elemente("Fila")
              Selectaţi m;

          Results.text = şir.Gol;

          foreach (var aTab în allTabs)
          {
              Results.text =
                  "Ordinea tabulatorilor: " + aTab.Attribute("TabOrder").Valoarea + " |" +
                  "Fila eticheta: " + aTab.Attribute("TabLabel").Valoarea + " | " +
                  "SharePointContentType: " + aTab.Attribute("SharePointContentType").Valoarea + " | " +
                  "AdditionalConstraints: " + aTab.Attribute("AdditionalConstraints").Valoarea + "r";
          }

În cele de mai sus, Variabila "theXmlToParse" este o variabilă şir, dar puteţi utiliza sarcina() metoda pe un flux dacă vă place.

"Rezultatele" este o etichetă pe un formular web și când acest cod execută, se pare ca asta:

SNAGHTML11cd2e7c

Eu nu s-au elaborat cum să sorteze rezultatele încă, Deci, voi lăsa că pentru un post de viitor blog.

</scop>

Aboneaza-te la blog-ul meu.

Urmaţi-mă pe Twitter, la http://www.twitter.com/pagalvin