所以我想做一个页面,当鼠标移动100px到浏览器窗口的边缘时,可以左右水平滚动。我写了以下脚本,但当鼠标移动到页面中间时,它拒绝清除间隔。
编辑:很抱歉没有在这里粘贴整个js,startScrollLeft和..Right已经定义为全局变量。我做了一个虚拟页面here。您可以查看页面以及我的代码是如何(不)工作的。
$(document).mousemove(function(e){
var cursorX = e.pageX;
if (cursorX > windowW - 100){
startScrollLeft = setInterval(scrollLeft, 50);
}else {
clearInterval(startScrollLeft);
}
if (cursorX < 100){
startScrollRight = setInterval(scrollRight, 50);
}else{
clearInterval(startScrollRight);
}
});
var scrolledAmount = 20;
function scrollLeft(){
if($('.content').width() > scrolledAmount + contentW + windowW - 400){
$('.content').animate({
left: '-='+20+'px'
},70, 'linear');
scrolledAmount = scrolledAmount+20;
}
}
function scrollRight(){
if(scrolledAmount > 20){
$('.content').animate({
left: '+='+20+'px'
},70,'linear');
scrolledAmount = scrolledAmount-20;
}
}需要帮助解决这个问题:/
发布于 2012-01-06 04:02:31
var cursorX = e.pageX;
if (cursorX > windowW - 100){
window.startScrollLeft = setInterval(scrollLeft, 50);
}else {
clearInterval(window.startScrollLeft);
}
if (cursorX < 100){
window.startScrollRight = setInterval(scrollRight, 50);
}else{
clearInterval(window.startScrollRight);
}https://stackoverflow.com/questions/8748862
复制相似问题