2010-05-28 88 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