miesięczne archiwum: Maja 2011

Jeszcze więcej jQuery–Rozmiar Przykładem obrazu

I dziedziczone składnika web part dostawcy starych klienta i ma problemu rozmiar obrazu.  Obrazy należy 60×50 jednak z jakiegoś powodu nieparzysta, oryginalny dostawcy zmusiły je do 42×42, tak wyglądają squashed:

 

Dobrą jakość obrazu

Zły obraz

Oto znaczników (nieco uproszczony):

<Tabela klasy = "rozszerzony programu outlook">
  <THEAD>
    <TR>
      <TH  Szerokość = "100′>3 Wtorek</TH>
    </TR>
  </THEAD>

  <tbody>
    <Klasa TR = "Prognoza">
      <szerokość TD = "100′>
        <UL>
          <Klasa li = "wysoki">Wysokie: 72&DEG;F</Li>
          <Klasa li = "niski">Niski: 44&DEG;F</Li>
          <Klasa li = "warunkiem">Słoneczny
            <img src =’
http://deskwx.weatherbug.com/images/Forecast/icons/localized/60×50/EN/trans/cond007.PNG’ szerokość ='42’ wysokość ='42’ ALT =” />
          </Li>
        </UL>
      </TD>
    </TR>

  </tbody>

</Tabela>

Będziesz, mimo że Uwaga Ścieżka do samego obrazu pokazuje właściwego wymiaru (60×50) oryginalny dostawcy zmusił go w 42×42.  Dlaczego?  Szalony.

Mimo to, Chciałem szybkie i proste rozwiązanie tego problemu i ja obróciłem się jQuery.  Lewę było zlokalizować wszystkie odpowiednie <img> znaczniki.  Nie chcę zakrycie z innych znaczników img (którego istnieje wiele).  Ten bit jQuery brała lewy:

<skrypt typu = "text/javascript" src ="http://AJAX.googleapis.com/AJAX/Libs/jQuery/1.5/jQuery.min.js"></skrypt>

<skrypt typu = "text/javascript">
     $(dokument).gotowe(Funkcja () {

         $("li.condition > img ").Każdy(Funkcja (Indeks, element)
           
{
             $(element).CSS("szerokość", "60"); 
             $(element).CSS("wysokość", "50");
            });
     }); // Ładuj dokumentu
</skrypt>

Ten bit kod znajdzie kolekcji <Li> tagi, których klasa jest "warunki" i <img> dzieci.  Następnie iteracyjnie przegląda wszystko.  Pracował jak urok.

Prawdopodobnie może usprawnić, ale nigdy nie była rodzaju guy unix, który rozwiązał π do 18 cyfr dokładności przy użyciu sed i awk i I 'm not tego rodzaju jeśli jQuery guy albo Uśmiech.

</koniec>

Subskrybowanie mój blog.

Follow me on Twitter wiek na http://www.twitter.com/pagalvin

Przetwarzanie XML z LINQ

Tutaj jest przykładem szybkie użycie LINQ do analizy niektórych  XML i get na słodkie, słodkie atrybuty tam.

Oto kod XML ma przeanalizować:

<?wersja pliku XML = "1.0" Kodowanie = "utf-8" ?>
<DeafultConfigurationSets>
  <PageLayouts>

    <Nazwa PageLayout = "xyzzy">
      <Tabulatory>
        <Karta TabOrder = "1" TabLabel = "x" SharePointContentType = "" AdditionalConstraints = "ac1" />
        <Karta TabOrder = "2" TabLabel = "y" SharePointContentType = "b" AdditionalConstraints = "AC2 ułatwia wprowadzanie" />
      </Tabulatory>
    </PageLayout>

    <Nazwa PageLayout = "xyzzy2">
      <Tabulatory>
        <Karta TabOrder = "100" TabLabel = "x" SharePointContentType = "" AdditionalConstraints = "ac1" />
        <Karta TabOrder = "101" TabLabel = "y" SharePointContentType = "b" AdditionalConstraints = "AC2 ułatwia wprowadzanie" />
        <Karta TabOrder = "103" TabLabel = "z" SharePointContentType = "c" AdditionalConstraints = "ac3" />
      </Tabulatory>
    </PageLayout>

  </PageLayouts>
</DeafultConfigurationSets>

Chcę, aby stworzyć niektóre karty w czasie wykonywania przez analizowanie powyższego.  Moje karty zależą od układu strony.  Jeśli nazwa Mój układu strony jest "xyzzy2" następnie chcę uzyskać karty 100, 101 i 103 (kart <Nazwa PageLayout = "xyzzy2">).

Oto LINQ, który robi:

var allTabs =
              z p w
                  XElement.Parse(theXmlToParse).
                 
Elementy("PageLayouts").
                  Elementy("PageLayout")
              w przypadku gdy (p.Attribute("Nazwa").Value.Equals("xyzzy2"))
              od m w p.Elements("Tabs").Elementy("Karta")
              Wybierz m;

          Results.text = ciąg.Puste;

          foreach (var. aTab w allTabs)
          {
              Results.Text =
                  "Kolejność tabulatorów: " + aTab.Attribute("TabOrder").Wartość + " |" +
                  "Etykieta kartę: " + aTab.Attribute("TabLabel").Wartość + " | " +
                  "SharePointContentType: " + aTab.Attribute("SharePointContentType").Wartość + " | " +
                  "AdditionalConstraints: " + aTab.Attribute("AdditionalConstraints").Wartość + "r";
          }

W powyższym, Zmienna "theXmlToParse" jest zmienna typu string, jednak można użyć obciążenia() Metoda strumienia, jeśli chcesz.

"Wyniki" jest etykietą w formularzu sieci web i gdy ten kod jest wykonywany, wygląda to:

SNAGHTML11cd2e7c

Jeszcze nie pracowałem jak sortować wyniki jeszcze, tak pozostawiam że dla przyszłych blogu.

</koniec>

Subskrybowanie mój blog.

Follow me on Twitter wiek na http://www.twitter.com/pagalvin