Arkib Bulanan: Boleh 2011

JQuery lagi lebih–Saiz semula Contoh Imej

Saya mewarisi sebahagian dari web vendor berusia pelanggan dan ia mempunyai masalah saiz imej.  Imej harus 60×50 tetapi atas sebab tertentu ganjil, vendor asal memaksa mereka ke dalam 42×42, supaya mereka melihat dihapuskan:

 

Imej Baik

Bad Image

Berikut adalah markup (agak dipermudahkan):

<jadual class = 'dilanjutkan pandangan'>
  <thead>
    <tr>
      <ke  width = '100′>3 Selasa</ke>
    </tr>
  </thead>

  <tbody>
    <tr class = 'ramalan'>
      <td width = '100′>
        <st>
          <li class = 'tinggi'>Tinggi: 72&anda;F</li>
          <li class = 'rendah'>Rendah: 44&anda;F</li>
          <li class = 'keadaan'>Sunny
            <img src =’
http://deskwx.weatherbug.com/images/Forecast/icons/localized/60×50/en/trans/cond007.png’ width = '42’ height = '42’ alt =” />
          </li>
        </st>
      </td>
    </tr>

  </tbody>

</jadual>

Anda akan ambil perhatian bahawa walaupun laluan kepada imej itu sendiri menunjukkan dimensi yang betul (60×50) vendor asal memaksanya di 42×42.  Mengapa?  Gila.

Bagaimanapun, Saya mahu satu penyelesaian yang cepat dan mudah untuk isu ini dan saya beralih kepada jQuery.  Silap mata adalah untuk mencari semua yang sesuai <img> tag.  Saya tidak mahu bergelandangan dengan mana-mana tag img lain (di mana terdapat banyak).  Ini sedikit jQuery tidak menipu:

<skrip jenis = text/javascript"" src ="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></skrip>

<skrip jenis = "text/javascript">
     $(dokumen).bersedia(fungsi () {

         $(' li.condition > img ').setiap(fungsi (indeks, item)
           
{
             $(item).css("lebar", "60"); 
             $(item).css("ketinggian", "50");
            });
     }); // beban dokumen
</skrip>

Itulah sedikit kod mendapati koleksi <li> tag yang kelas adalah "keadaan" dan <img> kanak-kanak.  Ia kemudian iterates melalui semua itu.  Bekerja seperti azimat.

Saya mungkin boleh menyelaraskan ia, tetapi saya tidak pernah menjadi jenis unix lelaki yang diselesaikan π kepada 18 digit ketepatan menggunakan sed dan awk dan saya bukan jenis yang jika lelaki jQuery sama ada Smile.

</akhir>

Langgan ke blog saya.

Mengikuti aku di Twitter http://www.twitter.com/pagalvin

Menghuraikan XML dengan LINQ

Berikut adalah contoh yang cepat menggunakan LINQ untuk menghuraikan beberapa  XML dan mendapat sekurang-manis, sifat-sifat manis di dalamnya.

Berikut adalah XML yang ingin saya menghuraikan:

<?versi XML = "1.0" pengekodan = "utf-8" ?>
<DeafultConfigurationSets>
  <PageLayouts>

    <Nama PageLayout = "xyzzy">
      <Tabs>
        <Tab TabOrder = "1" TabLabel = "x" SharePointContentType = "a" AdditionalConstraints = "ac1" />
        <Tab TabOrder = "2" TabLabel = "y" SharePointContentType = "b" AdditionalConstraints = "ac2" />
      </Tabs>
    </PageLayout>

    <Nama PageLayout = "xyzzy2">
      <Tabs>
        <Tab TabOrder = "100" TabLabel = "x" SharePointContentType = "a" AdditionalConstraints = "ac1" />
        <Tab TabOrder = "101" TabLabel = "y" SharePointContentType = "b" AdditionalConstraints = "ac2" />
        <Tab TabOrder = "103" TabLabel = "z" SharePointContentType = "c" AdditionalConstraints = "ac3" />
      </Tabs>
    </PageLayout>

  </PageLayouts>
</DeafultConfigurationSets>

Saya mahu membina beberapa tab di runtime oleh menghuraikan di atas.  Tab saya bergantung kepada susun atur laman.  Jika nama saya layout Laman "xyzzy2" maka saya ingin mendapatkan Tab 100, 101 dan 103 (Tab yang di <Nama PageLayout = "xyzzy2">).

Inilah LINQ yang ia tidak:

VAR allTabs =
              dari p di
                  XElement.Parse(theXmlToParse).
                 
Unsur-unsur("PageLayouts").
                  Unsur-unsur("PageLayout")
              di mana (p.Attribute("nama").Value.Equals("xyzzy2"))
              dari m di p.Elements("Tab").Unsur-unsur("Tab")
              Pilih m;

          Results.Text = tali. Kosong;

          foreach (VAR aTab di allTabs)
          {
              Results.Text =
                  "Tab perintah: " + aTab.Attribute("TabOrder").Nilai + " |" +
                  "Tab Label: " + aTab.Attribute("TabLabel").Nilai + " | " +
                  "SharePointContentType: " + aTab.Attribute("SharePointContentType").Nilai + " | " +
                  "AdditionalConstraints: " + aTab.Attribute("AdditionalConstraints").Nilai + "r";
          }

Di atas, pembolehubah "theXmlToParse" adalah pembolehubah rentetan, tetapi anda boleh menggunakan beban() Kaedah aliran jika anda suka.

"Keputusan" adalah label pada satu borang web dan apabila melaksanakan kod ini, ia kelihatan seperti ini:

SNAGHTML11cd2e7c

Saya belum bekerja bagaimana untuk menyusun keputusan lagi, Jadi saya akan meninggalkan bahawa posting blog masa depan.

</akhir>

Langgan ke blog saya.

Mengikuti aku di Twitter http://www.twitter.com/pagalvin