停止 fullpage.js SetInterval
Stopping fullpage.js SetInterval
我在我网站的主页上使用了 fullpage.js,我已经做到了它每 10 秒自动滚动一次。
我使用的功能如下:
$( '#fullpage' ).fullpage({
continuousVertical: true,
loopHorizontal: false,
resize: false,
afterRender: function() { // so that it applies to first section too
forceScroll();
}
});
slideTimeout = setInterval( function() {
$.fn.fullpage.moveSectionDown();
}, 10000);
function forceScroll() {
var slideTimeout;
}
但是,我想在用户使用他的鼠标向下或横向滑动时使用clearInterval(slideTimeout)
,因为当我想之后浏览时它一直在上下移动......这真的很烦人。
但我似乎找不到它的触发器,也找不到任何解决方法!
我怎样才能完成这项工作?
Documentation for Fullpage.js on GitHub;
The website I am speaking about
非常感谢您,
菲利普
如果我理解正确,你想在用户滚动时取消绑定间隔。
$('body').on('mousewheel', function(e) {
if (e.originalEvent.wheelDelta > 0) {
if (typeof slideTimeout !== "undefined") {
clearInterval(slideTimeout); //case for scroll up
alert("Timeout clear");
}
} else {
if (typeof slideTimeout !== "undefined") {
clearInterval(slideTimeout); //case for scroll down
alert("Timeout clear");
}
}
});
这是系统的示例版本
var slideInterval = setInterval(function() {
$("#counter").text(parseInt($("#counter").text()) + 1);
}, 1000);
$('body').on('mousewheel', function(e) {
if (e.originalEvent.wheelDelta > 0) {
clearInterval(slideInterval);
alert("Timeout clear");
} else {
clearInterval(slideInterval);
alert("Timeout clear");
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="counter" style="height:6000px;">0</div>
恐怕 fullpage.js 没有为鼠标滚轮/触控板事件提供任何回调。
您必须按照@Ahmet Can Güven 的指示自行完成。但我建议您寻找更跨浏览器的解决方案 mousewheel
并非在所有浏览器中都有效。
我在我网站的主页上使用了 fullpage.js,我已经做到了它每 10 秒自动滚动一次。
我使用的功能如下:
$( '#fullpage' ).fullpage({
continuousVertical: true,
loopHorizontal: false,
resize: false,
afterRender: function() { // so that it applies to first section too
forceScroll();
}
});
slideTimeout = setInterval( function() {
$.fn.fullpage.moveSectionDown();
}, 10000);
function forceScroll() {
var slideTimeout;
}
但是,我想在用户使用他的鼠标向下或横向滑动时使用clearInterval(slideTimeout)
,因为当我想之后浏览时它一直在上下移动......这真的很烦人。
但我似乎找不到它的触发器,也找不到任何解决方法!
我怎样才能完成这项工作?
Documentation for Fullpage.js on GitHub;
The website I am speaking about
非常感谢您,
菲利普
如果我理解正确,你想在用户滚动时取消绑定间隔。
$('body').on('mousewheel', function(e) {
if (e.originalEvent.wheelDelta > 0) {
if (typeof slideTimeout !== "undefined") {
clearInterval(slideTimeout); //case for scroll up
alert("Timeout clear");
}
} else {
if (typeof slideTimeout !== "undefined") {
clearInterval(slideTimeout); //case for scroll down
alert("Timeout clear");
}
}
});
这是系统的示例版本
var slideInterval = setInterval(function() {
$("#counter").text(parseInt($("#counter").text()) + 1);
}, 1000);
$('body').on('mousewheel', function(e) {
if (e.originalEvent.wheelDelta > 0) {
clearInterval(slideInterval);
alert("Timeout clear");
} else {
clearInterval(slideInterval);
alert("Timeout clear");
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="counter" style="height:6000px;">0</div>
fullpage.js 没有为鼠标滚轮/触控板事件提供任何回调。
您必须按照@Ahmet Can Güven 的指示自行完成。但我建议您寻找更跨浏览器的解决方案 mousewheel
并非在所有浏览器中都有效。