$('#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-function。也不行。
答案 0 :(得分:2)
没有名为hover的事件 - 它是一个用于注册mouseenter和mouseleave处理程序的实用函数,你需要使用mouseenter - 当鼠标进入元素时和mouseleave当鼠标离开元素
$('#footer').one('mouseenter', function () {
$('#impressum_lang_container').stop().slideDown('slow', function () {
$('body,html').animate({
scrollTop: $(document).height()
}, 'slow');
return false;
});
});
演示:Fiddle
答案 1 :(得分:0)
Arun的回答有效,但在我看来,应该使用mouseover
事件而不是mouseenter
,因为用户mouseover
同时用户将光标移到#footer
内将再次触发,同时使用mouseenter
如果用户使用中间按钮向下滚动页面而不移动光标,则鼠标移动时不会触发任何事件,直到您离开元素并再次悬停在其上以触发鼠标中心。您可以自行决定何时发生这种情况,但我建议您同时进行测试。
所以,我只想改变
$('#footer').one('hover', function () {
到
$('#footer').one('mouseover', function () {