Mootools滚动方法应该在调用方法时自动调用

时间:2014-03-15 09:31:52

标签: javascript jquery html css mootools

我是新手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方法

1 个答案:

答案 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/