【问题标题】:animate div height on hover keeps expanding/ collapsing jQuery悬停时动画div高度不断扩展/折叠jQuery
【发布时间】:2013-01-22 18:08:32
【问题描述】:

我目前正在我的网站上添加一个交互式菜单,该菜单提供有关鼠标悬停某些功能的信息。
单个列表项在鼠标悬停/鼠标悬停时展开/折叠它们的信息,但是当悬停一个列表项时,它会将其他项目向下推,导致它们穿过您的光标,从而使它们展开,这可能会发生很多次,因此它会在展开和折叠状态之间不断反弹很多次。

如果您将光标移动到列表项上几次,您可以强制执行我正在尝试修复的错误。

我认为必须有一种方法来防止某些列表项的无意扩展。例如,使当前展开的项目必须在另一个可以打开之前折叠?但我不知道如何用代码语言表达。

这里是我说的元素:http://jsfiddle.net/JHLQv/3/

以下是我如何编写展开/折叠机制的代码。下面的代码中包含有关前 2 个列表项的信息,但我对每个列表项都有这样的信息,所以你知道。

$("#li_bar_1").hover(
function() {
  $(div_expandable).animate({
    height: '+=130'
    }, 'slow'
  );
},
function() {
  $(div_expandable).animate({
    height: '-=130px'
    }, 'slow'
  );
}
);
$("#li_bar_2").hover(
function() {
  $(div_expandable_2).animate({
    height: '+=130'
    }, 'slow'
  );
},
function() {
  $(div_expandable_2).animate({
    height: '-=130px'
    }, 'slow'
  );
}
);

问候

【问题讨论】:

    标签: jquery hover jquery-animate


    【解决方案1】:

    我猜你应该使用这个插件,Hover Intent,来防止这种行为。

    【讨论】:

    • 感谢您的文章,我会看看是否可以将其应用到我的场景中,然后再回复您。
    • 再次提醒您,它现在工作得更好了,它成功地防止了大部分的意外扩展。
    猜你喜欢
    • 2011-06-29
    • 1970-01-01
    • 1970-01-01
    • 2021-05-20
    • 2011-10-15
    • 2019-11-24
    • 2011-01-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多