我想根据浏览器的视口大小编写一个函数,并返回将在我的HTML plt.plot ()
中使用的"X1"
,"X2"
或"X3"
属性,以便加载正确的图像尺寸。
这就是我现在所拥有的。
srcset
我尝试过很多事情,尝试为函数赋予名称和属性,并且尝试将整个方法放入变量和其他东西中。
> window.addEventListener("resize", function(){
if(typeof window.innerWidth != 'undefined'){
winw = window.innerWidth
console.log(winw)
return winw
}
})
确实给了我正确的输出,并且它也更新了我想要的结果(出于响应的原因),但是我似乎无法将输出存储在变量范围之外的变量中。功能。
我得到了console.log(winw)
或Undefined
答案 0 :(得分:0)
您可以在要访问它的父作用域中声明winw
,这样就不必在侦听器中返回任何内容(如@FelixKling所指出的,addEventListener不会返回任何返回值值-https://www.w3schools.com/jsref/met_document_addeventlistener.asp)。
let winw = undefined;
window.addEventListener("load", function(){
winw = window.innerWidth
})
window.addEventListener("resize", function(){
console.log('Resize event is fired')
winw = window.innerWidth
console.log(winw);
})
/* Timeout for the log here because console.log() alone
would be fired before 'load' */
setTimeout(function(){ console.log(winw); }, 1000);
这在加载时在我的浏览器中有效,同样适用于重新调整大小。