【问题标题】:jQuery hover appendto not workingjQuery悬停附加不起作用
【发布时间】:2013-01-06 14:37:42
【问题描述】:

我有一个 jquery 图像滚动器,当到达最后一个 <li> 时会附加第一个 <li> 等等。但是当我使用hover而不是onclick时,下面的代码不起作用

  jQuery("#gallery-next").click(function () {
     next_scroll();
 });

 function next_scroll() {
     if (jQuery("#gallery").position().left > stopPosition && !jQuery("#gallery").is(":animated")) {
         jQuery("#gallery").animate({
             left: "-=" + imageWidth + "px"
         });
     }
     if (jQuery("#gallery").position().left == stopPosition) {
         $("#gallery > li:first").appendTo("#gallery").fadeIn('slow');
         return false;
     }
 }

我应该怎么做才能使 mouseenter/hover 工作而不是单击功能。我在这个论坛上看到了其他非常相似的解决方案,但我无法使用这些解决方案。所以请用代码回答。这会很有帮助。 这是检查Fiddle的链接 提前致谢

【问题讨论】:

  • 使用mouseenter是否显示错误
  • 也许您可以添加您的 html 代码或制作一个 jsfiddle。 注意:这不是一个论坛是一个质量检查网站
  • 不,它没有显示任何错误。它只附加一次。然后,如果我将鼠标移出并再次重新输入鼠标,效果(附加)就会发生。但我想要一个连续的过程。
  • @Tom Sarduy:是的。我知道。对不起我的错误。
  • 哦,那是一个不同的问题,如果用户停留在#gallery-next 上,您想每隔 x 秒调用一次next_scroll() 对吗?

标签: jquery jquery-ui jquery-selectors


【解决方案1】:

如果我理解这个问题,你需要做的是改变这个:

jQuery("#gallery-next").click(function () {
    next_scroll();
});

对于这个:

var timer = 0;
jQuery("#gallery-next").
mouseover(function () {
     //Call next_scroll() every two seconds
     timer = setInterval(next_scroll, 2000);})
.mouseout(function(){
     timer = clearInterval(timer);
});

更新:setInterval() 不是 setTimeOut(),抱歉造成混淆,请检查 updated fiddle

【讨论】:

  • 是的,关于它的更多信息。滚动正在工作,但是当它到达末尾时,附加组件无法正常工作。
  • 尝试更改 $("#gallery > li:first") 为:jQuery("#gallery > li:first")
  • 不。不工作。同样的问题。 appendto 正在制造问题。如果我移出鼠标并再次重新输入其附加两次或三次。
  • 我只提供了一个“上一个”链接供您测试。
  • 它现在可以工作了。非常感谢伙计。如果您编辑答案,我会赞成并接受它。再次非常感谢
猜你喜欢
  • 2012-02-27
  • 1970-01-01
  • 1970-01-01
  • 2012-08-28
  • 2013-05-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多