2010-01-31 63 views
-1

這裏是我的地盤:http://iaddesign.com/beta/portfolio.php如何在鼠標懸停改變圖像,並留下

我想這:

$("#portfolio li img").hover(

function() { 


$(this).attr("src", function() { 

return "images/" + this.alt + ".png"; 

}), 


$(this).attr("src", function() { 


return "images/" + this.alt + "-over.png"; 

}); 

,但它的作用不是當顯示圖像(出於某種原因),那麼我的鼠標在圖像顯示,然後當我把我的鼠標關閉nothign發生。我希望所有的

在頁面加載時的每個圖像SRC將等於什麼與.png格式

但concated中高音attribuate當鼠標在圖像上的SRC等於

它的中高音attribe +「-over.png」然後當鼠標離開它回到什麼alt是+「.png」

回答

1

這樣的事情?

$("#portfolio li img").bind('mouseover', function(){ 
    this.src = "images/" + this.alt + "-over.png";  
}); 

$("#portfolio li img").bind('mouseout', function(){ 
    this.src = "images/" + this.alt + ".png"; 
}); 
0

在你懸停的第二個功能,你都忘了做一個函數...

$(this).attr("src", function() { 
    return "images/" + this.alt + "-over.png"; 
}); 

應該

function(){ 
$(this).attr("src", function() { 
    return "images/" + this.alt + "-over.png"; 
}); 
} 

此外,你做不必使用函數來創建新的名稱..你可以直接做..

所以

$(this).attr("src", function() { 
    return "images/" + this.alt + "-over.png"; 
}); 

可能只是

$(this).attr("src", "images/" + this.alt + "-over.png"); 
1

該代碼可以完成你所想。 hover()需要2個參數,第一個是mouseenter的事件處理程序,第二個是mouseleave的第二個參數。另外,如果你所做的只是構建一個簡單的字符串,那麼使用attr()的匿名函數並不是完全必要的。

$("#portfolio li img").hover(
    function() { 
     $this = $(this); 
     $this.attr("src", "images/" + $this.attr('alt') + ".png"); 
    }, 
    function() { 
     $this = $(this); 
     $this.attr("src", "images/" + $this.attr('alt') + "-over.png"); 
    } 
); 

此代碼應該更好地優化。享受:)