2010-05-28 126 views

回答

1

目前你在.click()使用$(this),但是這是<button>#related-btn)不是<div>#show-hide),我想你想要的是這樣的:

$("#related-btn").hover(function() { 
    $("#show-hide").toggle("slow"); 
}).click(function() { 
    $("#show-hide").toggle(); 
}); 

You can see an updated example here

或者,如果你想在這兩種情況下動畫,這是有點短:

$("#related-btn").bind('mouseenter mouseleave click', function() { 
    $("#show-hide").toggle("slow"); 
}); 

或者......如果你想不切換,但有一個點擊「銷」,你可以是這樣做的:

$("#related-btn").hover(function() { 
    if(!$(this).data('pinned')) 
    $("#show-hide").toggle("slow"); 
}).click(function() { 
    $(this).data('pinned', !$(this).data('pinned')); 
}); 

You can see a demo of that here

+0

@Kyle - 歡迎:)是那個效果你後?如果需要,我可以稍微調整一下例子,只要讓我知道是否有什麼東西不是你想要的。 – 2010-05-28 11:39:00

+0

再次感謝,基本功能在那裏,但是當你點擊它時會拒絕功能..我想。 (jq noob)我之後更喜歡懸停:show,click(和mouseleave):保持顯示,再次點擊:隱藏..如果你明白了嗎? – Kyle 2010-05-28 11:41:39

+1

@Kyle - 試試答案中的最後一個例子,有一個演示鏈接,這是「固定它」的代碼,因爲缺乏更好的術語。 - 這是一個稍微修改過的版本,在取消固定時立即隱藏:http://jsfiddle.net/rfyxD/4/ – 2010-05-28 11:44:07