刚刚意识到我的网站不正确地在IE中工作。它在Chrome和Firefox中完美运行。在IE中问题是,由javascript影响的元素只是没有出现。我启用了Javascript,所以我不知道它与其他浏览器有什么不同。
当我使用toggle_visibility
函数时:
function toggle_visibility_1(id) {
var e = document.getElementById(id);
if(e.style.display = 'inline')
e.style.display = 'none';
}
function toggle_visibility_2(id) {
var e = document.getElementById(id);
if(e.style.display = 'none')
e.style.display = 'inline';
}
网站在这里:http://www.dillonbrannick.com/ 当然,除非在IE中,否则不存在明显的问题,如果在IE中它可能不是很明显,所以希望我已经描述得很好。
所以我似乎修复了问题就像它应该在这里看到的那样工作:http://testerwebby.tumblr.com/所以我不知道我做了什么,但我很快就会将它推广到我的网站,感谢您的帮助。
答案 0 :(得分:8)
您正在执行作业,而不是比较:
// Sets the value of display
if ( e.style.display = 'none' )
您应该使用==
(值)或===
(值和类型)来测试相等性:
// Tests the value of display
if ( e.style.display == "none" )
如果您要做的只是在inline
和none
之间切换,则以下情况会更好:
function toggle_visibility(id) {
var e = document.getElementById(id);
e.style.display = (e.style.display === "none") ? "inline" : "none" ;
}