我得到認真處理jQuery的,但發現自己一遍又一遍的重複代碼...jQuery的簡化代碼(初級)
肯定有寫這個簡單的方法:
$('#more-mcr, #more-hilton, #more-lpool').hide();
$('#mcr-hatters').hoverIntent(function() {
$('#mcr-hilton').stop().animate({opacity: 0.4});
$('#more-mcr').fadeIn({duration:200});
}, function() {
$('#mcr-hilton').stop().animate({opacity: 1});
$('#more-mcr').fadeOut({duration:200});
});
$('#mcr-hilton').hoverIntent(function() {
$('#mcr-hatters').stop().animate({opacity: 0.4});
$('#more-hilton').fadeIn({duration:200});
}, function() {
$('#mcr-hatters').stop().animate({opacity: 1});
$('#more-hilton').fadeOut({duration:200});
});
$('#lpool-hostel').hoverIntent(function() {
$('#more-lpool').fadeIn({duration:200});
}, function() {
$('#more-lpool').fadeOut({duration:200});
});
$('#offers-mcr').hoverIntent(function() {
$('#offers-lpool').stop().animate({opacity: 0.4});
$('#offers-bham').stop().animate({opacity: 0.4});
}, function() {
$('#offers-lpool').stop().animate({opacity: 1});
$('#offers-bham').stop().animate({opacity: 1});
});
$('#offers-lpool').hoverIntent(function() {
$('#offers-mcr').stop().animate({opacity: 0.4});
$('#offers-bham').stop().animate({opacity: 0.4});
}, function() {
$('#offers-mcr').stop().animate({opacity: 1});
$('#offers-bham').stop().animate({opacity: 1});
});
$('#offers-bham').hoverIntent(function() {
$('#offers-lpool').stop().animate({opacity: 0.4});
$('#offers-mcr').stop().animate({opacity: 0.4});
}, function() {
$('#offers-lpool').stop().animate({opacity: 1});
$('#offers-mcr').stop().animate({opacity: 1});
});
我'd也想設置hoverIntent的延遲,但我認爲這是不可能的,因爲我目前編寫代碼的方式...?
如果有很多相同的項目,兩個類可能會工作,但如果它將停留在這幾個,ID選擇器可能會更快。 – justkt 2010-06-03 16:41:34