这是我正在使用的代码:
$("#super_feature").hover(function () {
$(window).mouseup(function () {
dragBarPos = ($(".jspPane").position().left) * -1;
console.log(dragBarPos);
});
if (dragBarPos > 1500) {
api.scrollTo(0);
}
});
每当我将鼠标悬停在序列中时,我就会得到“.jspPane”“左”的位置,鼠标移动“#super_feature”(就像拖动一样,这是我让它工作的唯一方式,mousedown不工作)
然而,我的问题是当我这样做时:console.log(dragBarPos);控制台列出了大约20个相同的位置信息。谁知道为什么会这样?我担心我会遇到性能问题。
答案 0 :(得分:2)
您正在嵌套事件。因此,当您触发hover
事件时,窗口上的新mouseup
事件将被绑定多次记录。
您的代码必须在这些行中查找。
var dragBarPos = 0;
$(window).mouseup(function () {
dragBarPos = ($(".jspPane").position().left) * -1;
console.log(dragBarPos);
});
$("#super_feature").hover(function () {
if (dragBarPos > 1500) {
api.scrollTo(0);
}
});