ארכיון חודשי: ייתכן 2011

אבל נוספים, jQuery–שינוי גודל של תמונה לדוגמה

אני בירושה של ה-web part של הספק הישן של לקוח, ויש בעיה של גודל התמונה.  התמונות צריכה להיות 60×50 אך מסיבה כלשהי אי-זוגי, הספק המקורי אילצה אותם לתוך 42×42, כך שהם נראים squashed:

 

תמונה טובה

התמונה רע

הנה סימון (מעט פשוטה):

<טבלה class = 'מורחב-outlook'>
  <thead>
    <. tr>
      <th  רוחב ='100′>3 שלישי</th>
    </. tr>
  </thead>

  <tbody>
    <מחלקה tr = 'תחזית'>
      <td רוחב ='100′>
        <ul>
          <li class = "גבוה">גבוהה: 72&מעלות;F</li>
          <li class = "נמוכה">נמוך: 44&מעלות;F</li>
          <li class = 'תנאי'>סאני
            <img src =’
http://deskwx.weatherbug.com/images/Forecast/icons/localized/60×50/en/trans/cond007.png’ רוחב = 42’ גובה = 42’ alt =” />
          </li>
        </ul>
      </td>
    </. tr>

  </tbody>

</טבלה>

ותשימו לב זה אפילו הנתיב של התמונה עצמה מציג את המימד הנכון (60×50) הספק המקורי כפה את זה 42×42.  ? למה?  משוגע.

בכל מקרה, . רציתי פתרון מהיר וקל לבעיה זו, פניתי jQuery.  הטריק היה כדי לאתר המתאים <img> תגים.  לא רציתי באפס מעשה עם כל תגי img אחרים (אשר הם רבים).  את הקטע הזה של jQuery עשה את העבודה:

<סקריפט סוג = טקסט/javascript"" src ="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></קובץ script>

<סקריפט סוג = "טקסט/javascript">
     $(המסמך).מוכן(פונקציה () {

         $(' li.condition > img').כל(פונקציה (אינדקס, פריט)
           
{
             $(פריט).css("רוחב", "60"); 
             $(פריט).css("גובה", "50");
            });
     }); // במשלוח המסמך
</קובץ script>

? פיסת קוד מוצא את האוסף <li> תגיות שלו הינה "תנאי", <img> . ילדים.  זה ואז סובבת בין כל זה.  עבד כמו קסם.

אני כנראה יכול לייעל את זה, אבל אף פעם לא הייתי בחור unix זה נפתר π כדי 18 דיוק ספרות באמצעות שקיעת דם ואתה תקבל את המגיע, ואני לא כזו אם jQuery? בחור חיוך.

</קצה>

מנוי על הבלוג שלי.

עקוב אחרי הטוויטר ב http://www.twitter.com/pagalvin

ניתוח מבנה XML עם LINQ

הנה דוגמא מהירה באמצעות LINQ לנתח כמה  XML ו- get-מתוק, מתוק תכונות המובא בזאת.

הנה אני רוצה לנתח את מבנה ה-XML:

<?גירסת xml = "1.0" קידוד = "utf-8" ?>
<DeafultConfigurationSets>
  <PageLayouts>

    <שם PageLayout = "xyzzy">
      <כרטיסיות>
        <בכרטיסיה סדר מעבר Tab = "1" TabLabel = "x" SharePointContentType = "a" AdditionalConstraints = "ac1" />
        <בכרטיסיה סדר מעבר Tab = "2" TabLabel = "y" SharePointContentType = "b" AdditionalConstraints = "ac2" />
      </כרטיסיות>
    </PageLayout>

    <שם PageLayout = "xyzzy2">
      <כרטיסיות>
        <בכרטיסיה סדר מעבר Tab = "100" TabLabel = "x" SharePointContentType = "a" AdditionalConstraints = "ac1" />
        <בכרטיסיה סדר מעבר Tab = "101" TabLabel = "y" SharePointContentType = "b" AdditionalConstraints = "ac2" />
        <בכרטיסיה סדר מעבר Tab = "103" TabLabel = z"" SharePointContentType = "c" AdditionalConstraints = "ac3" />
      </כרטיסיות>
    </PageLayout>

  </PageLayouts>
</DeafultConfigurationSets>

אני רוצה לבנות חלק מהכרטיסיות בזמן ריצה על-ידי ניתוח לעיל.  הכרטיסיות שלי תלויים פריסת דף.  אם השם של פריסת הדף שלי הוא "xyzzy2" אז אני רוצה לקבל כרטיסיות 100, 101 ו 103 (הכרטיסיות <שם PageLayout = "xyzzy2">).

הנה LINQ העושה זאת:

var allTabs =
              מ- p ב-
                  XElement.Parse(theXmlToParse).
                 
רכיבים("PageLayouts").
                  רכיבים("PageLayout")
              היכן (p.Attribute("שם").Value.Equals("xyzzy2"))
              מ- m p.Elements("לשוניות").רכיבים("Tab")
              בחר m;

          Results.Text = מחרוזת.ריק;

          foreach (var aTab ב allTabs)
          {
              Results.Text =
                  "סדר טאבים: " + aTab.Attribute("סדר מעבר Tab").ערך + " |" +
                  "תווית הכרטיסיה: " + aTab.Attribute("TabLabel").ערך + " | " +
                  "SharePointContentType: " + aTab.Attribute("SharePointContentType").ערך + " | " +
                  "AdditionalConstraints: " + aTab.Attribute("AdditionalConstraints").ערך + "r";
          }

לעיל, המשתנה "theXmlToParse" הוא משתנה מחרוזת, אך באפשרותך להשתמש העומס() שיטת בזרם אם אתה אוהב.

"תוצאות" הוא תווית בטופס אינטרנט והן בעת ביצוע קוד זה, זה נראה כך:

SNAGHTML11cd2e7c

לא הסתדר כיצד למיין את התוצאות עדיין, כך לעזוב את בבלוג בעתיד.

</קצה>

מנוי על הבלוג שלי.

עקוב אחרי הטוויטר ב http://www.twitter.com/pagalvin