相信我在这个上不需要HTML,因为if语句只处理cBox变量。它的作用是,点击一个按钮创建或关闭一个div,我已经测试了它们的功能并且它们正在工作,然而这些函数被调用的方式不起作用,我已经记录了输出但我没有显示它们在控制台中,这意味着代码由于某种原因没有通过if语句运行。
还尝试使用if (cBox == null)
,但它不起作用......
btnPress.onclick = function formConfirm() {
var cBox = document.getElementById('cBox');
console.log(" but cbox is "+cBox);
if(cBox) {
closecBox();
console.log("cbox exists, closing ...");
} else {
opencBox();
console.log("cbox does not exist, creating...");
}
};
答案 0 :(得分:1)
我不确定我理解你的问题,但是如果你的代码是这样的话似乎有效fiddle
function closeBox(elem){
elem.parentNode.removeChild(elem);
}
function openBox(el){
var el = document.createElement('div');
el.setAttribute("id", "cBox");
document.body.appendChild(el);
}
var btnPress = document.getElementById('button');
btnPress.onclick = function formConfirm() {
var cBox = document.getElementById('cBox');
if(cBox) {
closeBox(cBox)
console.log("cbox exists, closing ...");
} else {
openBox(cBox);
console.log("cbox does not exist, creating...");
}
};
如果我不明白你的问题,抱歉浪费时间。
答案 1 :(得分:0)
伙计们感谢你们所有的回复,你们的提示肯定对解决这个问题很有帮助,我做了很多改变,但我失去了轨道,但这是工作代码
var btnPress = document.getElementById('theBtn');
btnPress.onclick = function formConfirm() {
var cBox = document.getElementById('confirmBox');
console.log("cbox is "+cBox);
if(cBox) {
console.log("cbox exists, closing ...");
closecBox();
} else {
opencBox();
console.log("cbox does not exist, creating...");
}
};
function opencBox() {
var cBox = document.createElement('div');
cBox.id = "confirmBox";
document.body.appendChild(cBox);
cBox.style.display="inline";
};
function closecBox() {
var cBox = document.getElementById('confirmBox');
cBox.style.display="none";
document.body.removeChild(cBox);
};
我还使用了显示风格来再次测试动画的其他东西:),非常感谢你们所有的评论!他们真的帮助我找出了解决方案!