其他浏览器均测试成功,只在Chrome和Firefox测试失败,侧边栏不能被显示和隐藏。
调控台错误: parent.myFrame is undefined,
还有,点下右侧栏关闭后,再想关闭左侧栏就出问题了,不知道什么原因。虚心求教各位。附件上传了
真心感谢~
其他浏览器均测试成功,只在Chrome和Firefox测试失败,侧边栏不能被显示和隐藏。
调控台错误: parent.myFrame is undefined,
还有,点下右侧栏关闭后,再想关闭左侧栏就出问题了,不知道什么原因。虚心求教各位。附件上传了
真心感谢~
IE下如果给html节点定了ID,可以通过全局变量直接访问。实际上这个是IE特有的,并不标准。你可以在index.html中加上一段代码:
[code="js"]
var myFrame = document.getElementById("myFrame");
// ... 依此类推
[/code]
你的逻辑就是有问题,这里有两个侧边栏,所有的收缩状态会有4种,你只考虑了3种情况(只收缩左/右边,都不收缩),没考虑同时收缩的情况。
以下是一种修改方法,仅供参考(实际上个人更偏向用变量存储状态)
middle.html
[code="js"]
function Submit_onclick(){
if(!/^0,/.test(parent.myFrame.cols)) {
parent.myFrame.cols=parent.myFrame.cols.replace(/^\d+,/, "0,");
document.getElementById("ImgArrow").src="images/switch_right.jpg";
document.getElementById("ImgArrow").alt="打开左侧导航栏";
} else {
parent.myFrame.cols=parent.myFrame.cols.replace(/^\d+,/, "148,");
document.getElementById("ImgArrow").src="images/switch_left.jpg";
document.getElementById("ImgArrow").alt="隐藏左侧导航栏";
}
}
[/code]
middle2.html
[code="js"]
function Submit_onclick(){
if(!/,0$/.test(parent.myFrame.cols)) {
parent.myFrame.cols=parent.myFrame.cols.replace(/,0$/, ",0");
document.getElementById("ImgArrow").src="images/switch_right.jpg";
document.getElementById("ImgArrow").alt="打开左侧导航栏";
} else {
parent.myFrame.cols=parent.myFrame.cols.replace(/,0$/, ",148");
document.getElementById("ImgArrow").src="images/switch_left.jpg";
document.getElementById("ImgArrow").alt="隐藏左侧导航栏";
}
}
[/code]