Javascript Autoscroll过去是,但现在不是;行不通
我在做一个项目,当你点击页面时,它会滚动页面的整个长度。但它以20px的间隔运行;这是为了允许在iOS中滚动时执行javascript 然而,当上传最终版本时,我的ftp客户端删除了一些代码,现在无法工作。我不明白为什么 有什么建议吗Javascript Autoscroll过去是,但现在不是;行不通,javascript,jquery,Javascript,Jquery,我在做一个项目,当你点击页面时,它会滚动页面的整个长度。但它以20px的间隔运行;这是为了允许在iOS中滚动时执行javascript 然而,当上传最终版本时,我的ftp客户端删除了一些代码,现在无法工作。我不明白为什么 有什么建议吗 var t; var scrolling = false; // doScroll sets the position in which to auto pause. function doScroll() { $('body').scrollTop($
var t;
var scrolling = false;
// doScroll sets the position in which to auto pause.
function doScroll() {
$('body').scrollTop($('body').scrollTop() + 20);
if($("#pause").offset().top >=300 && $("#pause").offset().top < 304){
ScrollIt();
} else
if($("#pause").offset().top >=4000 && $("#pause").offset().top < 4004){
ScrollIt() ;
} else
if($("#pause").offset().top >=7500 && $("#pause").offset().top < 7504){
ScrollIt() ;
}
}
// ScrollIt removes the interval for scrolling, pausing the scroll.
function ScrollIt() {
clearInterval(t);
scrolling = false;
return;
// playPause()
}
//Stop/start on click
$('#pause').on('click',function(){
ScrollIt();
scrolling = !scrolling;
if(!scrolling){
clearInterval(t);
return;
}
t = setInterval(doScroll, 5);
});
vart;
var滚动=假;
//doScroll设置自动暂停的位置。
函数doscorl(){
$('body').scrollTop($('body').scrollTop()+20);
如果($(“#暂停”).offset().top>=300&$(“#暂停”).offset().top<304){
滚动它();
}否则
如果($(“#暂停”).offset().top>=4000&$(“#暂停”).offset().top<4004){
滚动它();
}否则
如果($(“#暂停”).offset().top>=7500&$(“#暂停”).offset().top<7504){
滚动它();
}
}
//滚动删除滚动间隔,暂停滚动。
函数ScrollIt(){
净间隔(t);
滚动=假;
返回;
//播放暂停()
}
//单击停止/启动
$('#pause')。在('单击',函数()上){
滚动它();
滚动=!滚动;
如果(!滚动){
净间隔(t);
返回;
}
t=设定间隔(多斯克罗尔,5);
});
我为您创建JSFIDLE页面
我可以看到它正在工作,但滚动并没有停止
var t;
var scrolling = false;
// doScroll sets the position in which to auto pause.
function doScroll() {
var $body = $("body"),
$pause = $("#pause");
$body.scrollTop($body.scrollTop() + 20);
var pauseTop = $pause.offset().top;
if (pauseTop >= 300 && pauseTop < 304 || pauseTop >= 4000 && pauseTop < 4004 || pauseTop >= 7500 && pauseTop < 7504) {
clearScrollInterval();
}
}
// scrollIt removes the interval for scrolling, pausing the scroll.
function clearScrollInterval() {
clearInterval(t);
scrolling = false;
return;
// playPause()
}
//Stop/start on click
$("#pause").on("click", function () {
clearScrollInterval();
scrolling = !scrolling;
t = setInterval(doScroll, 5);
});
vart;
var滚动=假;
//doScroll设置自动暂停的位置。
函数doscorl(){
变量$body=$(“body”),
$pause=$(“#pause”);
$body.scrollTop($body.scrollTop()+20);
var pauseTop=$pause.offset().top;
如果(pauseTop>=300&&pauseTop<304 | | pauseTop>=4000&&pauseTop<4004 | | pauseTop>=7500&&pauseTop<7504){
clearScrollInterval();
}
}
//滚动删除滚动间隔,暂停滚动。
函数ClearCrollInterval(){
净间隔(t);
滚动=假;
返回;
//播放暂停()
}
//单击停止/启动
$(“#暂停”)。在(“单击”上,函数(){
clearScrollInterval();
滚动=!滚动;
t=设定间隔(多斯克罗尔,5);
});
这是完全相同的代码,只是经过重构
试着在这里工作。您需要重构代码以进行调试。我为您创建JSFIDLE页面 我可以看到它正在工作,但滚动并没有停止
var t;
var scrolling = false;
// doScroll sets the position in which to auto pause.
function doScroll() {
var $body = $("body"),
$pause = $("#pause");
$body.scrollTop($body.scrollTop() + 20);
var pauseTop = $pause.offset().top;
if (pauseTop >= 300 && pauseTop < 304 || pauseTop >= 4000 && pauseTop < 4004 || pauseTop >= 7500 && pauseTop < 7504) {
clearScrollInterval();
}
}
// scrollIt removes the interval for scrolling, pausing the scroll.
function clearScrollInterval() {
clearInterval(t);
scrolling = false;
return;
// playPause()
}
//Stop/start on click
$("#pause").on("click", function () {
clearScrollInterval();
scrolling = !scrolling;
t = setInterval(doScroll, 5);
});
vart;
var滚动=假;
//doScroll设置自动暂停的位置。
函数doscorl(){
变量$body=$(“body”),
$pause=$(“#pause”);
$body.scrollTop($body.scrollTop()+20);
var pauseTop=$pause.offset().top;
如果(pauseTop>=300&&pauseTop<304 | | pauseTop>=4000&&pauseTop<4004 | | pauseTop>=7500&&pauseTop<7504){
clearScrollInterval();
}
}
//滚动删除滚动间隔,暂停滚动。
函数ClearCrollInterval(){
净间隔(t);
滚动=假;
返回;
//播放暂停()
}
//单击停止/启动
$(“#暂停”)。在(“单击”上,函数(){
clearScrollInterval();
滚动=!滚动;
t=设定间隔(多斯克罗尔,5);
});
这是完全相同的代码,只是经过重构
试着在这里工作。您需要重构代码以进行调试。执行此脚本时,控制台中是否出现任何错误。请也包括他们与您的问题也请粘贴您的整个脚本在这里。我找不到doScroll被Interval调用的行。在执行此脚本时,控制台中是否出现任何错误。请也包括他们与您的问题也请粘贴您的整个脚本在这里。我找不到一行Doscorl被称为it’s called by Interval点击fiddle链接并自己测试。对不起,在手机上,至少。无法测试。是自动保险箱坏了吗?在这种情况下,这是因为值不正确,pauseTop>=300&&pauseTop=300&&pauseTopclick在fiddle链接上并自己测试它。抱歉,在手机上,至少。无法测试。是自动保险箱坏了吗?在这种情况下,是因为值不正确,pauseTop>=300&&pauseTop=300&&pauseTop