Cam*_*ron 7 javascript jquery scrollto
我正在使用http://nick-jonas.github.io/windows/的修订版本,它允许用户在DIV中滚动不同的部分,然后将其重新捕捉到位.
因为我正在滚动DIV我已经替换了:
$('.windows').animate({scrollTop: scrollTo }, options.snapSpeed, function(){
if(!completeCalled){
if(t){clearTimeout(t);}
t = null;
completeCalled = true;
options.onSnapComplete($visibleWindow);
}
});
Run Code Online (Sandbox Code Playgroud)
有:
$('.windows').scrollTo( $visibleWindow , options.snapSpeed, { onAfter:function(){
if(!completeCalled){
if(t){clearTimeout(t);}
t = null;
completeCalled = true;
options.onSnapComplete($visibleWindow);
}
}});
Run Code Online (Sandbox Code Playgroud)
因此,您可以看到我使用scrollTo插件跳转到可见的div而不是像前面的代码那样依赖复杂的偏移量.
我在原始代码和我自己的代码中注意到的一个错误是,如果捕捉已经开始,然后用户通过滚动来中断此操作,他们将最终与滚动事件进行战斗以滚动内容.因此,如果scrollTo向下滚动100个像素,然后他们尝试使用浏览器滚动条向上滚动300个像素,则屏幕将在事件和浏览器滚动战斗时出现问题.
关于如何阻止这一点的任何想法?我希望现在我正在使用scrollTo插件,它将变得更容易处理.
到目前为止,我尝试过:
$('.windows').bind("scroll mousedown DOMMouseScroll mousewheel keyup", function(e){
if ( e.which > 0 || e.type === "mousedown" || e.type === "mousewheel"){
$(this).stop().unbind('scroll mousedown DOMMouseScroll mousewheel keyup');
}
});
Run Code Online (Sandbox Code Playgroud)
但是这样可以阻止所有的攻击......任何修复的想法?
joh*_*ith 15
你可以试试吗
$('.windows').bind("scroll mousedown DOMMouseScroll mousewheel keyup", function(e){
if ( e.which > 0 || e.type === "mousedown" || e.type === "mousewheel"){
$('.windows').stop(true,false);
}
});
Run Code Online (Sandbox Code Playgroud)
语法是.stop([clearQueue],[jumpToEnd])
| 归档时间: |
|
| 查看次数: |
2462 次 |
| 最近记录: |