Monataj Arkivoj: Majo 2011

Sed tamen Pli da jQuery–Resize Bilda Ekzemplo

Mi heredis araneaĵan parton de malnova vendisto de kliento kaj ĝi havas bildan grandecan problemon.  La bildoj devus esti 60×50 Sed por iu stranga kialo, La originala vendisto devigis ilin en 42×42, Do ili rigardas squashed:

 

Bona Bildo

Malbona Bildo

Ĉi tie-a la markup (Iom simpligita):

<Tabla klaso='plilongigita-perspektivo'>
  <Thead>
    <Tr>
      <Th  Larĝo='100′>3 Mardo</Th>
    </Tr>
  </Thead>

  <Tbody>
    <Tr klasa='prognozo'>
      <Td larĝo='100′>
        <Ul>
          <Li klaso='alta'>Alta: 72&Deg;F</Li>
          <Li klaso='malalta'>Malalte: 44&Deg;F</Li>
          <Li klasa='kondiĉo'>Sunbrila
            <Img src=’
Http://Deskwx.Weatherbug.Com/bilda/Prognozo/ikonoj/malcentralizis/60×50/En/trans/cond007.Png’ Larĝo='42’ Alto='42’ Alt=” />
          </Li>
        </Ul>
      </Td>
    </Tr>

  </Tbody>

</Tablo>

Vi notos ke eĉ kvankam la Vojo al la bildo ĝi mem Montras la konvenan dimension (60×50) La originala vendisto devigis ĝin en 42×42.  Kial?  Freneza.

Ĉiuokaze, Mi deziris rapidan kaj facilan solvon al ĉi tiu afero kaj mi turnis al jQuery.  La ruzo estis troviĝi ĉiujn de la konvena <Img> Etikedoj.  Mi ne deziris al feĉo pri kun ajna alia img etikedoj (De kiu estas multaj).  Tio ĉi mordis de jQuery faris la ruzon:

<Skriba tipo="teksto/javascript" Src="Http://Ajax.Googleapis.Com/ajax/libs/jquery/1.5/jquery.Min.Js"></Skribo>

<Skriba tipo="teksto/javascript">
     $(Dokumento).Preta(Funkcio () {

         $(‘Li.Kondiĉo > Img').Ĉiu(Funkcio (Indekso, Ero)
           
{
             $(Ero).Css("Larĝo", "60"); 
             $(Ero).Css("Alto", "50");
            });
     }); // Sur dokumenta ŝarĝo
</Skribo>

Kiu mordis de kodo trovas la kolekton <Li> Etikedas kies klaso estas “kondiĉo” kaj <Img> Infanoj.  Ĝi tiam iterates tra ĉiuj de tio.  Laborita kiel ĉarmo.

Mi verŝajne povus fluliniigi ĝin, Sed mi neniam estis la speco de unix ulo kiu solvis π Al 18 Cifera precizeco uzanta sed kaj awk kaj mi ne estas tiu afabla se jQuery ulo aŭ rideto.

</Fino>

Aboni al mia blogo.

Sekvi min sur Pepi ĉe http://www.twitter.com/pagalvin

Analizanta XML kun LINQ

Ĉi tie-a rapida ekzemplo uzanta LINQ analizi kelkajn/kelkajn  XML kaj akiri ĉe la sukeraĵo, Dolĉaj ecoj therein.

Ĉi tie-a la XML mi deziras analizi:

<?Xml versio="1.0" Kodanta="utf-8" ?>
<DeafultConfigurationSets>
  <PageLayouts>

    <PageLayout nomo="xyzzy">
      <Klapetoj>
        <Klapeto TabOrder="1" TabLabel="x" SharePointContentType="" AdditionalConstraints="ac1"/>
        <Klapeto TabOrder="2" TabLabel="y" SharePointContentType="b" AdditionalConstraints="ac2"/>
      </Klapetoj>
    </PageLayout>

    <PageLayout nomo="xyzzy2">
      <Klapetoj>
        <Klapeto TabOrder="100" TabLabel="x" SharePointContentType="" AdditionalConstraints="ac1"/>
        <Klapeto TabOrder="101" TabLabel="y" SharePointContentType="b" AdditionalConstraints="ac2"/>
        <Klapeto TabOrder="103" TabLabel="z" SharePointContentType="c" AdditionalConstraints="ac3"/>
      </Klapetoj>
    </PageLayout>

  </PageLayouts>
</DeafultConfigurationSets>

Mi deziras konstrui supre kelkajn klapetojn ĉe runtime de analizanta la supran.  Miaj klapetoj dependas al paĝa plano.  Se la nomo de mia paĝo plano estas “xyzzy2” tiam mi deziras akiri klapetojn 100, 101 Kaj 103 (La klapetoj en <PageLayout nomo=”xyzzy2”>).

Ĉi tie-a la LINQ ke faras ĝin:

Var allTabs =
              De p je
                  XElement.Analizas(TheXmlToParse).
                 
Elementoj("PageLayouts").
                  Elementoj("PageLayout")
              Kie (P.Eco("Nomo").Valoro.Egaluloj("Xyzzy2"))
              De m en p.Elementoj("Klapetoj").Elementoj("Klapeto")
              Elektita m;

          Rezultoj.Teksta = ŝnuro.Senhoma;

          Foreach (Var aTab en allTabs)
          {
              Rezultoj.Teksto =
                  "Klapeta Ordo: " + ATab.Eco("TabOrder").Valoro + " |" +
                  "Klapeta Etikedo: " + ATab.Eco("TabLabel").Valoro + " | " +
                  "SharePointContentType: " + ATab.Eco("SharePointContentType").Valoro + " | " +
                  "AdditionalConstraints: " + ATab.Eco("AdditionalConstraints").Valoro + "R";
          }

En la supra, La varia “theXmlToParse” estas ŝnuro varia, Sed vi povas uzi la ŝarĝon() Metodo sur rivereto se vi ŝatas.

“Rezultoj” estas etikedo sur araneaĵa formo kaj kiam ĉi tiu kodo efektivigas, Ĝi similas tion ĉi:

SNAGHTML11cd2e7c

Mi ne eliris kiel ordigi la rezultojn ankoraŭ, Do mi lasos ke pro tio ke estonta bloga poŝto.

</Fino>

Aboni al mia blogo.

Sekvi min sur Pepi ĉe http://www.twitter.com/pagalvin