从示例中找到here
我希望在按住鼠标时滚动jScrollPane
。我的理由是我可以制作自己的箭头按钮。我希望它们位于顶部和底部的滚动窗格之外,并具有相同的窗格宽度。
我知道如何让按钮在mousehover
和mousedown
jquery事件上工作,但是窗格只会向下滚动一次。我想给它一个Y
值,大约20
,然后让它继续检查mousedown是否仍为真等。
但我尝试的任何东西似乎都无效。
答案 0 :(得分:4)
您需要设置间隔计时器,当鼠标悬停在您的按钮上时,该计时器会反复触发。您可以通过查看箭头按钮在jScrollPane代码中的工作方式来获得有关如何执行此操作的一些提示:
https://github.com/vitch/jScrollPane/blob/master/script/jquery.jscrollpane.js#L503
以下是一些示例代码,它从插件外部执行相同的操作:
var api = $('.scroll-pane').jScrollPane().data('jsp');
$('#hover-down').bind(
'mouseover',
function()
{
var scrollInterval,
link = $(this),
doScroll = function()
{
api.scrollByY(5);
};
link.bind(
'mouseout.demo',
function()
{
clearInterval(scrollInterval);
link.unbind('mouseout.demo');
}
);
doScroll();
scrollInterval = setInterval(doScroll, 50);
}
);
你可以在这个jsfiddle中看到它正常工作并玩弄它: http://www.jsfiddle.net/WzNM4/1/