archivi mensili: Maggio 2011

Ancora più jQuery–Ridimensionare un esempio di immagine

Ho ereditato una web part da vecchio fornitore di un client ed ha un problema di dimensioni immagine.  Le immagini dovrebbero essere 60×50 ma per qualche strano motivo, il fornitore originale li ha costretti in 42×42, modo da apparire schiacciati:

 

Buona immagine

Cattiva immagine

Ecco il codice (un po' semplificato):

<table class = 'esteso-outlook'>
  <thead>
    <TR>
      <TH  Width = 100′>3 Martedì</TH>
    </TR>
  </thead>

  <tbody>
    <Classe TR = 'previsioni'>
      <larghezza TD = 100′>
        <UL>
          <Classe li = 'high'>Alta: 72&deg;F</li>
          <Classe li = 'bassa'>Basso: 44&deg;F</li>
          <Classe li = 'condizione'>Sunny
            <img src =’
http://deskwx.WeatherBug.com/images/forecast/icons/Localized/60×50/en/trans/cond007.png’ larghezza = 42’ altezza = 42’ Alt =” />
          </li>
        </UL>
      </TD>
    </TR>

  </tbody>

</tabella>

Avrete notato che anche se il percorso dell'immagine di sé Mostra la dimensione corretta (60×50) il fornitore originale costretto in 42×42.  Perché?  Crazy.

In ogni caso, Volevo una soluzione rapida e semplice a questo problema e mi rivolsi a jQuery.  Il trucco è stato quello di individuare tutte le appropriate <img> Tag.  Non volevo fare muck con qualsiasi altro tag img (di cui ci sono molti).  Questo po ' di jQuery ha fatto il trucco:

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

<tipo di script = "text/javascript">
     $(documento).pronto(funzione () {

         $(' li.condition > img').ogni(funzione (indice, elemento)
           
{
             $(elemento).CSS("larghezza", "60"); 
             $(elemento).CSS("altezza", "50");
            });
     }); // al caricamento del documento
</script di>

Quel po ' di codice trova la collezione <li> Tag cui classe è "condizione" e <img> bambini.  Esso quindi scorre tutto ciò.  Ha lavorato come un fascino.

Probabilmente potrei a razionalizzare e, ma non sono mai stato un tipo di ragazzo di unix che risolto π A 18 precisione di cifre usando sed e awk e io non sono quel tipo se jQuery ragazzo sia sorriso, sorridere.

</fine>

Iscriviti al mio blog.

Seguimi su Twitter a http://www.twitter.com/pagalvin

L'analisi XML con LINQ

Ecco un rapido esempio utilizzando LINQ per analizzare alcuni  XML e ottenere presso il dolce, dolce in esso attribuisce.

Ecco il codice XML che voglio analizzare:

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

    <PageLayout nome = "xyzzy">
      <Schede>
        <Scheda TabOrder = "1" TabLabel = "x" SharePointContentType = "un" AdditionalConstraints = "ac1" />
        <Scheda TabOrder = "2" TabLabel = "y" SharePointContentType = "b" AdditionalConstraints = "ac2" />
      </Schede>
    </PageLayout>

    <PageLayout name = "xyzzy2">
      <Schede>
        <Scheda TabOrder = "100" TabLabel = "x" SharePointContentType = "un" AdditionalConstraints = "ac1" />
        <Scheda TabOrder = "101" TabLabel = "y" SharePointContentType = "b" AdditionalConstraints = "ac2" />
        <Scheda TabOrder = "103" TabLabel = "z" SharePointContentType = "c" AdditionalConstraints = "ac3" />
      </Schede>
    </PageLayout>

  </PageLayouts>
</DeafultConfigurationSets>

Voglio costruire alcune schede in fase di esecuzione mediante l'analisi di cui sopra.  Mie schede dipendono da un layout di pagina.  Se nome del mio layout di pagina è "xyzzy2" quindi voglio ottenere schede 100, 101 e 103 (le schede in <PageLayout name = "xyzzy2">).

Ecco il LINQ che lo fa:

var allTabs =
              from p in
                  XElement(theXmlToParse).
                 
Elementi("PageLayouts").
                  Elementi("PageLayout")
              dove (p.Attribute("nome").Value.Equals("xyzzy2"))
              da m. in p.Elements("Schede").Elementi("Scheda")
              Selezionare m;

          Results.Text = string.Vuoto;

          foreach (var aTab in allTabs)
          {
              = Results.Text
                  "Ordine di tabulazione: " + aTab.Attribute("TabOrder").Valore + " |" +
                  "Scheda Label: " + aTab.Attribute("TabLabel").Valore + " | " +
                  "SharePointContentType: " + aTab.Attribute("SharePointContentType").Valore + " | " +
                  "AdditionalConstraints: " + aTab.Attribute("AdditionalConstraints").Valore + "r";
          }

In precedenza, la variabile "theXmlToParse" è una variabile di stringa, ma è possibile utilizzare il carico() Metodo su un flusso se ti piace.

«Risultati» sono un'etichetta su un web form e quando questo codice viene eseguito, sembra che questo:

SNAGHTML11cd2e7c

Non ho funzionato come ordinare i risultati ancora, così potrai lasciare che per un post futuro.

</fine>

Iscriviti al mio blog.

Seguimi su Twitter a http://www.twitter.com/pagalvin