我正在使用一个隐藏/显示两个iframe左侧的函数HideFrame。该函数由onclick()事件使用按钮image1和image2调用。
不幸的是,当我点击image1来隐藏左边框架时,image2仅在image1再次显示之前显示纳秒级。
我做错了什么?
我只是一个初学者,所以对我很轻松。
function HideFrame() {
var fr = window.top.document.getElementById ("body_left");
var fs = window.top.document.getElementById ("body_right");
var img1 = document.getElementById("image1");
var img2 = document.getElementById("image2");
if(fr.style.width=="33.5%") {
fr.style.width="0%";
fs.style.width="99.5%";
img1.style.display="none";
img2.style.display="inline";
}
else {
fr.style.width="33.5%";
fs.style.width="65.8%";
img1.style.display="inline";
img2.style.display="none";
}
}
<input type="image" src="./hideframe.png" id="image1"
style="display:inline"
title="Hide/show left panel" onclick="HideFrame()"/>
<input type="image" src="./showframe.png" id="image2" style="display:none"
title="Hide/show left panel" onclick="HideFrame()"/>
答案 0 :(得分:2)
单击图像会提交您的页面,这会导致重新加载,图像1再次可见。 从HideFrame返回false将阻止这种情况发生。