我是新手mootools.So请帮我解决我面临的问题。我有一个div,其中包含一个href如果我点击它然后它将进入一个javascript文件,它包含颜色方法。在那个方法我保持脚本由usng滚动方法。根据我的脚本。如果div在顶部,我点击href它shoud显示红色,如果滚动大于零,那么它应该显示另一种黑色。但是发生了什么,如果我向下滚动并单击它,它显示为红色,我滚动了一下,然后显示黑色。我的代码是
window.addEvent('scroll', function () {
var scroll = window.getScroll().y;
if (scroll > 0) {
black
} else {
red
}
我可以在mootools
中输入颜色方法后立即知道如何调用scroll方法答案 0 :(得分:1)
这是正常的,因为您在窗口滚动时调用该方法而不是在您单击按钮时调用该方法,因为每次滚动时它都会调用颜色方法。每次点击你想知道更新的滚动位置,而不是在你没有点击按钮的情况下滚动页面(希望我明白这一点......)。在页面加载时,您最初将背景颜色设置为红色。
var link = $('link');
var box = $('color-box');
link.addEvent('click', function(event){
event.preventDefault();
changeBgColorBox();
});
changeBgColorBox();
function changeBgColorBox () {
var scroll = window.getScroll().y;
if (scroll > 0) {
box.setStyle('background','black');
} else {
box.setStyle('background','red');
}
}
这是一个jsfiddle:http://jsfiddle.net/Bwv3S/40/
要仅在滚动页面时调用该方法,您根本不需要调用该方法。您将调用方法onload或ondomready和onscroll。 http://jsfiddle.net/jLPpa/9/