Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/458.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.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
Javascript 如何在滚动停止时禁用jQuery jParallax插件并重新启用?_Javascript_Jquery_Jquery Plugins_Scroll - Fatal编程技术网

Javascript 如何在滚动停止时禁用jQuery jParallax插件并重新启用?

Javascript 如何在滚动停止时禁用jQuery jParallax插件并重新启用?,javascript,jquery,jquery-plugins,scroll,Javascript,Jquery,Jquery Plugins,Scroll,我有一个固定的jParallax–背景,页面元素在固定的“视差”背景上滚动 问题:该插件仅在当前视口中工作,如果向下滚动并应用了固定位置,则该插件将停止工作。所以我想在滚动时禁用jParallax效果,在停止滚动时重新启用 为了控制滚动事件,我使用James Padolsey为jQuery提供的特殊滚动事件: 我试过这样的方法: jQuery(window).bind('scrollstart', function(){ jQuery('#parallax').jpara

我有一个固定的jParallax–背景,页面元素在固定的“视差”背景上滚动

问题:该插件仅在当前视口中工作,如果向下滚动并应用了固定位置,则该插件将停止工作。所以我想在滚动时禁用jParallax效果,在停止滚动时重新启用

为了控制滚动事件,我使用James Padolsey为jQuery提供的特殊滚动事件:

我试过这样的方法:

    jQuery(window).bind('scrollstart', function(){
        jQuery('#parallax').jparallax({mouseResponse: false});
    });

    jQuery(window).bind('scrollstop', function(e){          
        jQuery('#parallax').jparallax({mouseResponse: true},{triggerExposesEdges: true}, {xtravel:0.2, ytravel:0.2}, {xtravel:0.6, ytravel:0.6}).append(corners);
    });
这会触发许多jparallax实例,并且无法正常工作

有谁知道如何正确禁用jparallax,或者有谁在Stephen Band的原始插件上写过更新

是否有任何具有适当“禁用”功能的等效插件替代方案


谢谢你的帮助

我通过使用Devin R.Olsen的jQuery zLayers视差插件找到了问题的解决方案

我仍然在使用James Padolsey为jQuery编写的特殊滚动事件:

还并没有在IE上测试过,但若我在固定的全屏背景上用视差效果滚动页面元素,这在大多数浏览器上似乎都能正常工作。语法类似于:

    jQuery(window).bind('scrollstop', function(e){   
        $('#plax-1').zlayer({mass:5,confine:'push',canvas:'#parallax'});
        $('#plax-2').zlayer({mass:15,force:'push',canvas:'#parallax'});
        $('#plax-3').zlayer({mass:25,force:'push',canvas:'#parallax'});             
    }); 

希望这对某人有用

对于那些仍在寻找解决这个问题的方法的人来说,jQuery zLayers已经过时了,我建议结合使用

  • plax-jQuery视差插件,支持动态启用/禁用视差

  • jQuery Waypoints-用于检测用户何时滚动到某个点并触发操作

  • 下面是一些结合了这两者的示例代码:

        $('#some-div').waypoint(function(direction) {
            if (direction == "down"){
                $.plax.disable();
            }
            else {
                $.plax.enable();
            }
        });
    

    下面是这个问题的最新解决方案。我会建议。