我有一个变量(initW)
,它取得了一些div的初始宽度(wrps
)。在Javascript中保留初始变量值
有一个侧面板崩溃展开事件。
崩溃时,主(中心)格(.p_ext_width
)变宽。我使用它的新宽度值来设置包装div的宽度(wrps
)。
然后在侧面板展开 - 我想让它们(wrps)回到它们的初始值(initW
)。
但是,此变量(initW
)现在被新值(扩展宽度)覆盖。
如何保留原始变量值?
function expand_collapse() {
out=document.querySelector('.p_ext_width')
wrps=document.getElementsByClassName('page_wrapper');
var initW=window.getComputedStyle(wrps[0], null).getPropertyValue("width"); //get width before expanding
console.log(initW);
initW1=initW
if (x.className!="collapseme") {
//......
function functionOne(x) {
var W=window.getComputedStyle(x, null).getPropertyValue("width");
//get width after expanding
for (e=0;e<wrps.length;e++){
wrps[e].style.width=W;
}
}
function functionTwo(var1, callback) {
var timer = setTimeout(function() {
callback(var1);
}, 500);
}
functionTwo(out, functionOne);
return;
}
else {
for (e=0;e<wrps.length;e++){
wrps[e].style.width=initW; //set back to initial width
console.log("new: " + initW1);
}
}
}
创建另一个变量并在做任何计算之前存储原始值? – Lewis
新值不会被覆盖太多吗? (见上面的initW1)。试过了,它不工作......我做错了什么? – Kadjia
取决于您定义它的位置。将其保留在此功能之外,只有在展开侧面板之前进行设置。 – Lewis