0

我遇到了一个有趣的代码示例,它允许我使用 jQuery (UI) 使 DIV 元素可滚动,可以在这里找到:http ://www.simonbattersby.com/demos/vertical_scrollbar_demo.htm

我随后将它变成了一个插件,以使其更易于使用和更可重用。它工作了 99%,但有一个小错误 - 出于某种原因,当我单击滚动条时,它不会滚动 DIV 元素。

如果我使用鼠标滚轮,它可以正常工作,但由于某种原因,单击和拖动不起作用。

我正在处理的代码在这里:http: //jsfiddle.net/mitchmalone/XRnxL/2/

4

1 回答 1

1

试试这个。

slide: function (event, ui) {
    var topValue = -((100 - ui.value) * difference / 100);
    $(this).parents(".slider-wrap").prev(".scroll-pane").find('.scroll-content').css({
        top: topValue
    });
},
change: function (event, ui) {
    var topValue = -((100 - ui.value) * difference / 100);
    $(this).parents(".slider-wrap").prev(".scroll-pane").find('.scroll-content').css({
        top: topValue
    });
}

这个问题是直接$(this)引用div.slider-vertical 调用产生的结果,因为它不是. 要修复,我们需要遍历 dom 并找到 prev ,然后找到 our并调整 css 值。find.scroll-content.scroll-contentdiv.slider-vertical.scroll-pane.scroll-content

更新了小提琴

于 2011-02-21T23:05:32.603 回答