View Single Post
ישן 29-07-12, 18:59   # 10
perfeito
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Jul 2012
הודעות: 102

perfeito לא מחובר  

ציטוט:
נכתב במקור על ידי IgalSt צפה בהודעה
כמה הערות לגבי קוד ה-jQuery עצמו, כדי לשפר וליעל אותו:

1. מומלץ להשתמש ב- on

2. מומלץ בחום לעשות cache לאובייקטים של jQuery ולא לפזר דולרים על ימין ועל שמאל.

3. כדאי לשרשר מספר פעולות ביחד. אם אתה עושה על אותו האלמנט fadeIn

(4. סטיילינג: תחליט אם אתה משתמש בגרש בודד או גרשיים, ותהיה עקבי)

כך שאת הקוד שלך הייתי משנה ככה:
קוד:
$('#Images').on("click", "img", function(){
	var img = $(this);
	var leftSide = $("#Left-Side");
	leftSide.fadeOut("slow", function(){
                 leftSide.fadeIn("slow");
                 $("#largeImage").attr('src', img.attr("src").replace("thumbs", "newsize"));
                 $("#description").html(img.attr("alt"));
	});
});
קוד:
function els () {
	var elems = {
		left: $('#Left-Side'),
		large: $('#largeImage'),
		desc: $('#description')
	};
	return (function () {
		return elems;
	}());
}

$('#Images').on("click", "img", function(){
	var self = $(this)
		,	elems = els();

	elems.left.fadeOut('slow', function () {
		var src = self.attr('src').replace('thumbs', 'newsize');
		elems.left.fadeIn('slow');
		elems.large.attr('src', src);
		elems.html(self.attr('alt'));
	});
});
אם כבר, מדברים על מהירות

Last edited by perfeito; 29-07-12 at 19:06.. סיבה: formatting sucks here.
  Reply With Quote