1

我使用 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

重现: - 加载页面 - 按下右键(不要做任何其他事情) - 用鼠标向下滚动 - 现在箭头已损坏 要修复: - 只需抓住滑块的内容,滑动它 - 尝试向左或向右按钮,他们再次工作

有谁知道这里可能有什么问题?

4

1 回答 1

1

问题似乎来自图书馆本身,正在使用 3.7.3,将其升级到 3.9.1,现在似乎已解决:http: //yui.yahooapis.com/3.9.1/build/yui/yui-min。 js

于 2013-04-09T13:38:03.567 回答