每次发生事件时如何调用js函数

时间:2017-01-15 13:37:24

标签: javascript

每次屏幕宽度为1240px时,我都需要调用一个函数。我的意思是,例如,如果我从1300px或更高调整到1200px或更低,并且一旦通过1240px,我的函数应该被调用一次。同样,例如,如果我从1200px或更小调整到1300px或更高,并且一旦通过1240px我的函数再次被调用。

这就是我的尝试:

function toggle() {
    toggle_time = setTimeout('toggle()', 1);
    if (document.body.offsetWidth<=1240) {
        myFunction();
    }
    if (document.body.offsetWidth>=1240) {
        myFunction();
    }
}

但是它会一直调用我的函数,每毫秒都会出错。任何答案都表示赞赏。谢谢!

2 个答案:

答案 0 :(得分:0)

style="display: none;"

像这样使用:

 function listenforwidth(width,callback){
  var store_width=0;
  window.onresize=function(){
   if((window.innerWidth>store_width && window.innerWidth>width )|| (window.innerWidth<store_width && window.innerWidth<width )){
        callback();
   }
   store_width=window.innerWidth;
   }

答案 1 :(得分:-1)

我宁愿使用window.onresize事件: https://developer.mozilla.org/fr/docs/Web/API/Window/onresize

所以,比如:

    this.myValues = Observable.create(subscriber => {
      this.service.getItems().subscribe(items => subscriber.next(items));
    });