Javascript折叠HTML-我的代码不是';工作不正常,你能看到任何错误吗?
好的,这是我的代码,试图使它在用onclick=“contactChange”等单击按钮时,显示块不可见:Javascript折叠HTML-我的代码不是';工作不正常,你能看到任何错误吗?,javascript,html,Javascript,Html,好的,这是我的代码,试图使它在用onclick=“contactChange”等单击按钮时,显示块不可见: <script type="text/javascript"> window.onload; { var contactState = 0; } function contactChange() { if (contactState = 0) { var contact = documen
<script type="text/javascript">
window.onload; {
var contactState = 0;
}
function contactChange() {
if (contactState = 0) {
var contact = document.getElementbyId("main");
contact.style.display="none";
contactState = 1;
}
else if (contactState = 1) {
var contact = document.getElementbyId("main");
contact.style.display="block";
contactState = 0;
}
}
</script>
window.onload;{
var contactState=0;
}
函数contactChange(){
如果(contactState=0){
var contact=document.getElementbyId(“main”);
contact.style.display=“无”;
contactState=1;
}
否则如果(contactState=1){
var contact=document.getElementbyId(“main”);
contact.style.display=“block”;
contactState=0;
}
}
我的代码似乎不工作,是否有任何错误,正在执行我想执行的操作?您正在分配,而不是比较
另外,您不想在条件中翻转状态吗?您正在将其设置为与原来相同的值。如果您还不知道,您应该学习如何在您使用的任何浏览器上查看JavaScript控制台,并检查它是否记录了错误 您不希望在
if
语句中使用contactState=X
。您需要contactState==X
不确定
窗口。onload
在代码开始时挂起了什么。您的代码有一些严重的问题
- 首先,你的前几行根本没有意义
- 接下来,
将if(contactState=0)
设置为contactState
。您需要0
,它将==
与联系人状态
进行比较0
function contactChange() {
var contact = document.getElementbyId("main");
if (contact.style.display == "none") {
contact.style.display = "block";
} else {
contact.style.display = "none";
}
}
或者,如果你想变得花哨:
function contactChange() {
var contact = document.getElementbyId("main");
contact.style.display = (contact.style.display == "none") ? "block" : "none";
}
查看您的代码:
> window.onload;
这是对窗口对象的onload属性的引用。无论该值是什么,它都不会指定给任何对象,因此会被忽略(或多或少)
}
{}
字符包含一个块语句,通常与if、for、else等语句一起使用。就其本身而言,它不起任何作用,因此可以从上面删除它,而不会产生任何效果。该代码与以下代码相同:
var contactState = 0;
它声明变量contactState,当代码执行时,它被分配一个数字0(零)的值
Blender对未调用的函数有一些注释。鉴于它处理的是DOM元素,您可能希望它在加载事件发生时运行,因此您可能想将函数分配给window.onload属性:
window.onload = contactChange;
现在,如果在执行该行代码时尚未发生加载事件,则将在加载事件发生时调用该函数。谢谢分享!你的问题是什么?OP试图解决一些问题,但方法有缺陷。然而,杰克确实试过了。请尝试用正确的方法回答问题。更不用说
window.onload;{…}
我正在处理的一个例子与这个答案非常相似:我认为if(contactState=0)
总是false
,因为0==false
我也不喜欢onclick
或其他内联处理程序,但这是目前最不坏的。@DiogoDoreto:对不起,不知道为什么我认为作业总是返回true
。此外,我还添加了!el.style.如果初始未设置,则在中显示。
var contactState = 0;
window.onload = contactChange;