Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
盒影赢了';";无”;在JavaScript中_Javascript_Html_Css - Fatal编程技术网

盒影赢了';";无”;在JavaScript中

盒影赢了';";无”;在JavaScript中,javascript,html,css,Javascript,Html,Css,我的目标是有一个显示内容的div,单击后有一个方框阴影。然后我想再次单击div以隐藏内容和框阴影。除了在我的第二个函数中将框阴影设置为“无”时单击框阴影后,它就不会被隐藏外,其他一切都很好。为什么这行不通 HTML: <div class="col-md-4 top" id="time"> <div class="clickme" id="clickme" onclick="clickme(); return false;"> <p>Click here f

我的目标是有一个显示内容的div,单击后有一个方框阴影。然后我想再次单击div以隐藏内容和框阴影。除了在我的第二个函数中将框阴影设置为“无”时单击框阴影后,它就不会被隐藏外,其他一切都很好。为什么这行不通

HTML:

<div class="col-md-4 top" id="time">
<div class="clickme" id="clickme" onclick="clickme(); 
return false;">
<p>Click here for the time and date!</p>
</div>
</div>

点击这里查看时间和日期

JavaScript:

function clickme(){
document.getElementById("clickme").style.display = 'none';
document.getElementById("time").style.boxShadow = "inset 6em 6em 6em #3B3130";
document.getElementById('time').innerHTML = "<h2 onclick='revert();''>It is " + theTime + " and the date is " + theDate + "</h2>";
}

function revert(){
document.getElementById('time').innerHTML = "";
document.getElementById("clickme").style.display = 'inline';
document.getElementById("time").style.boxShadow = 'none';
}
函数clickme(){
document.getElementById(“clickme”).style.display='none';
document.getElementById(“time”).style.boxShadow=“inset 6em 6em#3B3130”;
document.getElementById('time').innerHTML=“试试这个

document.getElementById("time").style.boxShadow = null;
试试这个

document.getElementById("time").style.boxShadow = null;
这是因为在修改其父级的内部HTML时,您“销毁”了div
#clickme

当我稍微移动元素时,看到它工作得很好:

函数clickme(){
var theTime=‘某个时间’;
var theDate=‘某个日期’;
document.getElementById(“clickme”).style.display='none';
document.getElementById(“time”).style.boxShadow=“inset 6em 6em#3B3130”;
document.getElementById('time').innerHTML=“这是因为在修改div
#其父级的内部HTML时“销毁”了div
#clickme

当我稍微移动元素时,看到它工作得很好:

函数clickme(){
var theTime=‘某个时间’;
var theDate=‘某个日期’;
document.getElementById(“clickme”).style.display='none';
document.getElementById(“time”).style.boxShadow=“inset 6em 6em#3B3130”;

document.getElementById('time')。innerHTML="@Shoms已经在你的代码中发现了错误,但我只是想给你更多的指导。我发现尽可能将逻辑移到CSS中,只使用javascript添加和删除类是很有用的。这里的优点是,你可以轻松地摆弄CSS来改变不同状态下的外观,而无需更改javascript、 这里有一个可能的解决办法

var-box=document.getElementById(“box”);
box.onclick=function(){
if(box.className.indexOf(“单击”)=-1){
box.className=“单击”;
}否则{
box.className=“”;
}
}
#盒子#时间{
显示:无;
}
#box.clicked{
盒影:1米黑色;
}
#box.clicked#firstMessage{
显示:无;
}
#box.clicked#时间{
显示:块;
}

单击此处查看时间和日期

买手表的时间到了


@Shoms已经识别出了代码中的错误,但我只想给您一点指导。我发现尽可能将逻辑移到CSS中,只使用javascript添加和删除类是很有用的。这里的优点是,您可以轻松地摆弄CSS来更改不同状态下的外观,而无需更改ja这里有一个可能的解决方案

var-box=document.getElementById(“box”);
box.onclick=function(){
if(box.className.indexOf(“单击”)=-1){
box.className=“单击”;
}否则{
box.className=“”;
}
}
#盒子#时间{
显示:无;
}
#box.clicked{
盒影:1米黑色;
}
#box.clicked#firstMessage{
显示:无;
}
#box.clicked#时间{
显示:块;
}

单击此处查看时间和日期

买手表的时间到了


Btw。像这样的事情通常是通过类来完成的,而不是通过直接应用样式。可能是由于本节中的双
'
导致的?
onclick='revert();''>
顺便说一句,如果你真的想取消设置一个内联CSS值,你可以将它设置为一个空白字符串。感谢你的提醒,修复了它,但仍然没有。顺便说一句。像这样的事情通常是使用类来完成的,而不是直接应用样式。可能是由于本节中的双
'
导致的?
onclick='revert();“”>
顺便说一句,如果你真的想取消设置一个内联CSS值,你可以将它设置为一个空白字符串。谢谢你注意到了这一点,修复了它,但仍然没有成功。非常感谢你!我要学习和玩它,因为我想尽可能多地理解它。非常感谢你!我要学习和玩它,因为我想尽我所能去理解。