我使用 YUI 滚动视图来制作带有触摸、轻弹和箭头的菜单结构。然而,由于某种原因,箭头有一个错误。
但是,当第一次加载页面时它工作正常,一旦用户用鼠标滚动页面(在平板电脑或手机上),箭头就不再工作了。当我滑动内容时,箭头会神奇地重新开始工作。
这是我用于滚动视图的脚本:
YUI().use('scrollview-base', 'scrollview-paginator', function(Y) {
var scrollView = new Y.ScrollView({
id: "scrollview",
srcNode : '#clientslider-content',
width : 950,
flick: {
minDistance: 10,
minVelocity: 0.3,
axis: "x"
}
});
scrollView.plug(Y.Plugin.ScrollViewPaginator, {
selector: 'li'
});
scrollView.render();
var content = scrollView.get("contentBox");
var scrollViewCurrentX = $('#clientslider-content').offset();
content.delegate("click", function(e) {
var scrollViewNewX = $('#clientslider-content').offset();
var scrollMarginL = (scrollViewNewX.left-2);
var scrollMarginR = (scrollViewNewX.left+2);
if (scrollViewCurrentX.left < scrollMarginL || scrollViewCurrentX.left > scrollMarginR)
{
e.preventDefault();
}
}, ".clientlink");
content.delegate("mousedown", function(e) {
scrollViewCurrentX = $('#clientslider-content').offset();
e.preventDefault();
}, "a, img");
Y.one('#clientslider-next').on('click', Y.bind(scrollView.pages.next, scrollView.pages));
Y.one('#clientslider-prev').on('click', Y.bind(scrollView.pages.prev, scrollView.pages));
});
你可以在这里找到一个演示: http ://www.circlesoftware.nl/demo/test.html
重现: - 加载页面 - 按下右键(不要做任何其他事情) - 用鼠标向下滚动 - 现在箭头已损坏 要修复: - 只需抓住滑块的内容,滑动它 - 尝试向左或向右按钮,他们再次工作
有谁知道这里可能有什么问题?