.one and callback



http://jsfiddle.net/EYQ3S/

$('#footer').one('hover', function() {
$('#impressum_lang_container').stop().slideDown('slow', function(){
$('body,html').animate({ scrollTop: $(document).height()}, 'slow');
return false;
});
}); 

我对javascript完全陌生,所以非常感谢你的帮助!非常感谢:-)

我正在努力将两个函数统一在带有回调的 .one 下。 我已经让他们单独工作,但现在我不知道如何进行。

我有一个页脚。有一种悬停效果,当鼠标越过页脚时,下面会推出一个新的div,其中包含更多内容。 现在我希望在div 完全推出后,侧面自动滚动到最底部。这就是我尝试放入回调函数的原因。

此外,对于我的第一个解决方案,每次用户将鼠标悬停在页脚时都会执行向下滚动。我不想这样,所以我尝试使用 .one 函数。也还不行。

没有称为悬停的事件 - 它是一个用于注册 mouseenter 和 mouseleave 处理程序的实用程序函数,您需要使用 mouseenter - 当鼠标进入元素时,鼠标离开

$('#footer').one('mouseenter', function () {
$('#impressum_lang_container').stop().slideDown('slow', function () {
$('body,html').animate({
scrollTop: $(document).height()
}, 'slow');
return false;
});
});

演示:小提琴

Arun的答案有效,但在我看来应该使用mouseover事件而不是mouseenter,因为当用户将光标移动到#footer内时,mouseover事件将再次触发,而mouseenter如果用户使用中间按钮向下滚动页面而不移动光标,则鼠标移动时不会触发任何事件,直到您离开元素并再次将鼠标悬停在它上面以触发鼠标输入。何时发生这种情况将由您决定,但我建议您同时测试两者。

所以,我会简单地改变

$('#footer').one('hover', function () {

$('#footer').one('mouseover', function () {

最新更新