Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
scrollTo-jQuery插件。滚动很好,但尝试向上滚动时会出现锯齿状和';卡住';_Jquery_Jquery Ui_Jquery Plugins_Jquery Selectors_Scrollto - Fatal编程技术网

scrollTo-jQuery插件。滚动很好,但尝试向上滚动时会出现锯齿状和';卡住';

scrollTo-jQuery插件。滚动很好,但尝试向上滚动时会出现锯齿状和';卡住';,jquery,jquery-ui,jquery-plugins,jquery-selectors,scrollto,Jquery,Jquery Ui,Jquery Plugins,Jquery Selectors,Scrollto,我正在使用scrollTo插件,并在“click”事件中的animate方法的回调函数中执行它 页面滚动很好,但如果我使用鼠标滚轮或滚动条尝试返回,它不会允许我。它只是有点卡住了,和我打架——创造了一种跳跃的效果。大约一秒钟后,它恢复正常行为 我无法显示发生这种情况的确切地点(不允许),但我已复制了下面的代码: // This function finds the first item that has an opacity set to 1 (full) function moveIt() {

我正在使用scrollTo插件,并在“click”事件中的animate方法的回调函数中执行它

页面滚动很好,但如果我使用鼠标滚轮或滚动条尝试返回,它不会允许我。它只是有点卡住了,和我打架——创造了一种跳跃的效果。大约一秒钟后,它恢复正常行为

我无法显示发生这种情况的确切地点(不允许),但我已复制了下面的代码:

// This function finds the first item that has an opacity set to 1 (full)
function moveIt() {
    var theItem = $('.work').filter( function(j) { return $(this).css('opacity') == 1 } ).eq(0);
    $("html").scrollTo( theItem, 350 );
}

$("#work-menu-client a").click(

    function () {

        var val = $(this).attr("href");
        val = val.substring(1, val.length);

        if( val.length ) { 


            $(".work[data-client*='" + val + "']").animate({
                opacity: 1
                }, 350, function() {    
                    // Complete
            });


            $(".work:not([data-client*='" + val + "'])").animate({
                opacity: 0.05
                }, 350, function() {

                    moveIt();

            });


        }

        return false;

    }, 

    function () {
        return false;   
    }

);
不要担心这整件事会发生什么,但是把这段代码放到回调函数中有点不对劲。几乎就像它不断循环/重复回调,所以我无法返回

(如果您想知道,基本上,菜单允许我根据某些项目的属性淡入淡出,然后我滚动到不透明度未淡出的第一个项目。)

任何帮助都将不胜感激

我找到了一个有类似问题的人,但问题还没有解决,几乎没有反馈:

非常感谢,, 迈克尔


编辑:事实上,我刚刚注意到我也无法向下滚动…所以本质上,我被卡在了它发送给我的位置。

我也有这个问题,但错误/修复与选择器逻辑无关


问题是,我将点击处理程序绑定到锚上,锚多次触发scrollTo,而没有解除旧的绑定。我实现了ajax加载和重新注册事件处理程序,但没有取消注册旧的事件处理程序。修复只涉及到调用
$(selector).off()在$(selector).on(…)
,我不需要更改,因为这是我仍然想要的行为。

更新:我已经找出了导致此问题的原因。我的选择器逻辑得到了不止一个元素,尽管由于等式(0)只显示了一个元素,但scrollTo正在处理多个元素。如果你有类似的问题,请小心。我更改了选择器逻辑,现在它可以工作了。