每次屏幕宽度为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();
}
}
但是它会一直调用我的函数,每毫秒都会出错。任何答案都表示赞赏。谢谢!
答案 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));
});