我正在为项目构建一个javascript计算器。 我想要一个红色的" E"出现在" #Total"的左上角DIV。 我在总div中放了一个小div(" #hint"),称为Total div与位置:相对,"提示" div位置:绝对。 但是,只要我写任何东西(例如一个数字) 总div(使用JQuery),提示div消失。自从该计划开始 写一个" 0"对于总div,你永远看不到" E" .. 我试过设置提示div的z-index(到99),但似乎没有用。
这是index.html:
<!DOCTYPE html>
<html>
<head>
<title>Calculator</title>
<link rel="stylesheet" href="style.css" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
<script src="script.js"></script>
</head>
<body>
<div id="calculator">
<div id="total">
<a id="hint">E</a>
</div>
<div id="operators">
<a id="add">+</a>
<a id="sub">-</a>
<a id="divi">/</a>
<a id="mult">*</a>
<a id="equals">=</a>
</div>
<div id="numbers">
<a id="n1">1</a>
<a id="n2">2</a>
<a id="n3">3</a>
<a id="n4">4</a>
<a id="n5">5</a>
<a id="n6">6</a>
<a id="n7">7</a>
<a id="n8">8</a>
<a id="n9">9</a>
<a id="clear">CE</a>
<a id="n0">0</a>
<a id="clearall">AC</a>
<a id="decimalPt">.</a>
<a id="minus">+-</a>
<!-- <a id="X">X</a> -->
</div>
</div>
</div>
</body>
</html>
这里是(部分)css文件:(只需要通过咨询 &#34;总&#34; ..)
body, div, a {
padding:0;
margin:0;
font-family:"Trebuchet MS", Arial, Helvetica, sans-serif;
}
#container {
width:960px;
margin: 10px auto;
}
#calculator {
background-color: #999;
width: 310px;
height: 540px;
border: 3px black solid;
margin: 10px;
padding: 5px;
border-radius: 10px;
float: left;
}
#hint {
position: absolute;
width: 20px;
height: 20px;
left: 0;
top: 0;
text-align: center;
color: red;
font-size: 14px;
}
#total {
position: relative;
height: 70px;
width: 300px;
margin:auto;
background-color:white;
margin-bottom: 5px;
text-align: right;
font-size: 60px;
padding: 0 5px;
}
#numbers, #operators {
margin: auto;
}
#operators a {
display: block;
width: 45px;
height: 45px;
float: left;
text-decoration: none;
color: black;
text-align: center;
font-size: 39px;
padding: 2px;
margin: 5px 6px;
background-color: #FFF;
border-radius: 10px;
}
#numbers a {
display: block;
width: 50px;
height: 50px;
float: left;
text-decoration: none;
color: blue;
text-align: center;
font-size: 32pt;
padding: 10px;
margin: 5px 15px;
background-color: #FFF;
border-radius: 10px;
}
#numbers > a#clearall {
background-color: yellow;
}
#numbers > a#clearall:hover {
background-color: blue;
color:white;
}
#numbers > a:hover:not(#clearall) {
background-color: #00F;
color: white;
}
JQuery位于一个单独的文件中。这条线 导致擦除是$(&#34; #total&#34;)。text(&#34; 0&#34;);
希望你们都能帮忙......
答案 0 :(得分:2)
代码行:
$("#total").text("0");
将清除#total
中的所有子元素。这就是它的目的。如果您只想影响#total
的部分内容并将子元素留在那里,那么您需要在#total
中定位一个特定的子元素并仅更改它。
也许您想要做的是:
<div id="total">
<span id="totalNum"></span>
<a id="hint">E</a>
</div>
然后,您可以定位:
$("#totalNum").text("0");
并适当调整CSS格式。然后,当您更改totalNum时,您的提示不会受到干扰。