我不能为我的生活弄清楚为什么这个if语句不起作用。
retrieveInfo函数传递event
,code
和target div
,如下所示:
onmouseover="return retreiveInfo(event, 'M003', 'target')"
我必须尽可能多地使用学校作业提供的代码。
function retreiveInfo(e, movieCode, div) {
if(e.pageX) {
this.x = e.pageX;
} else {
this.x = e.clientX;
}
if(e.pageY) {
this.y = e.pageY;
} else {
this.y = e.clientY;
}
div = document.getElementById(div);
if(div.style.visibility == "visible") {
console.log("More Good");
}
else if(div.style.visibility == "hidden"){
console.log("Hidden");
}
}
答案 0 :(得分:4)
检查“样式”对象仅在HTML标记包含“样式”属性或其代码在其他位置修改时才有效。如果有CSS使对象的“可见性”属性被“隐藏”,那么你将无法通过该方法来判断。
还有其他方法可以使对象不可见:
display: none
position: absolute; left: -10000px;
等。元素可以位于另一个隐藏的元素内。因此,确定DOM中的特定元素是否可见并不总是一项简单的任务: - )
现在,如果其他地方的某些代码执行类似的操作:
document.getElementById(whatever).style.visibility = "hidden";
然后你的代码应该正常工作。