我已经在JS中创建了简单的计算器,我想添加一个选项,如果出现特定的分数,特定的图像将弹出。例如,3 + 3 = 9,除了数字photo也会出现。我有一个想法,但我不怎么用js图像替换html div。感谢任何帮助。 “如果”部分中的波兰语说明仅是说明,因此请忽略它。
var lolek = document.createElement("IMG");
lolek.src = "math.jpg";
document.getElementById("lol").appendChild("lolek");
function dodawaj(){
var liczba = parseFloat(document.getElementById("pole").value);
var liczba2 = parseFloat(document.getElementById("pole2").value);
var suma = liczba + liczba2;
if ((isNaN(liczba)) && (isNaN(liczba2))) {
document.getElementById("wynik").innerHTML = "obie liczby nie sa liczbami";
} else if (isNaN(liczba)) {
document.getElementById("wynik").innerHTML = "pierwsza liczba nie jest liczba";
} else if (isNaN(liczba2)) {
document.getElementById("wynik").innerHTML = "druga liczba nie jest liczba";
} else if (suma > 0) {
document.getElementById("wynik").innerHTML = suma + " = liczba dodatnia";
} else if (suma < 0) {
document.getElementById("wynik").innerHTML = suma + " = liczba ujemna";
} else if ((liczba == 0) && (liczba2 == 0)) {
document.getElementById("wynik").innerHTML = "Podales dwa zera";
}
}
function odejmowanie(){
var liczba = parseFloat(document.getElementById("pole3").value);
var liczba2 = parseFloat(document.getElementById("pole4").value);
var roznica = liczba - liczba2;
if ((isNaN(liczba)) && (isNaN(liczba2))) {
document.getElementById("wynik").innerHTML = "obie liczby nie sa liczbami";
} else if (isNaN(liczba)) {
document.getElementById("wynik").innerHTML = "pierwsza liczba nie jest liczba";
} else if (isNaN(liczba2)) {
document.getElementById("wynik").innerHTML = "druga liczba nie jest liczba";
} else if (roznica > 0) {
document.getElementById("wynik").innerHTML = roznica + " = liczba dodatnia";
} else if (roznica < 0) {
document.getElementById("wynik").innerHTML = roznica + " = liczba ujemna";
} else if ((liczba == 0) && (liczba2 == 0)) {
document.getElementById("wynik").innerHTML = "Podales dwa zera";
}
}
function mnozenie(){
var liczba = parseFloat(document.getElementById("pole5").value);
var liczba2 = parseFloat(document.getElementById("pole6").value);
var iloczyn = liczba * liczba2;
if ((isNaN(liczba)) && (isNaN(liczba2))) {
document.getElementById("wynik").innerHTML = "obie liczby nie sa liczbami";
} else if (isNaN(liczba)) {
document.getElementById("wynik").innerHTML = "pierwsza liczba nie jest liczba";
} else if (isNaN(liczba2)) {
document.getElementById("wynik").innerHTML = "druga liczba nie jest liczba";
} else if (iloczyn > 0) {
document.getElementById("wynik").innerHTML = iloczyn + " = liczba dodatnia";
} else if (iloczyn < 0) {
document.getElementById("wynik").innerHTML = iloczyn + " = liczba ujemna";
} else if ((liczba == 0) && (liczba2 == 0)) {
document.getElementById("wynik").innerHTML = "Podales dwa zera";
} else if ((liczba == 0) || (liczba2 == 0)) {
document.getElementById("wynik").innerHTML = "Nie mnozymy przez zero";
}
}
function dzielenie(){
var liczba = parseFloat(document.getElementById("pole7").value);
var liczba2 = parseFloat(document.getElementById("pole8").value);
liczba = Math.floor(liczba * 100) / 100;
liczba2 = Math.floor(liczba2 * 100) / 100;
var iloraz = liczba / liczba2;
if ((isNaN(liczba)) && (isNaN(liczba2))) {
document.getElementById("wynik").innerHTML = "obie liczby nie sa liczbami";
} else if (isNaN(liczba)) {
document.getElementById("wynik").innerHTML = "pierwsza liczba nie jest liczba";
} else if (isNaN(liczba2)) {
document.getElementById("wynik").innerHTML = "druga liczba nie jest liczba";
} else if (iloraz > 0) {
document.getElementById("wynik").innerHTML = iloraz + " = liczba dodatnia";
} else if (iloraz < 0) {
document.getElementById("wynik").innerHTML = iloraz + " = liczba ujemna";
} else if ((liczba == 0) && (liczba2 == 0)) {
document.getElementById("wynik").innerHTML = "Podales dwa zera";
} else if ((liczba == 0) || (liczba2 == 0)) {
document.getElementById("wynik").innerHTML = "Nie dzielimy przez zero";
}
}
<!DOCTYPE HTML>
<html lang="pl">
<head>
<meta charset="utf-8" />
<title>odliczanie czasu</title>
<link rel="stylesheet" href="div.css">
</head>
<body>
<div class="napis">Smiglowy kalkulator</div>
<input type="text" id="pole" />
<input type="text" id="pole2" />
<input type="submit" class="guzik" value="dodaj" onclick="dodawaj()" />
<br/>
<br/>
<input type="text" id="pole3" />
<input type="text" id="pole4" />
<input type="submit" class="guzik2" value="odejmij" onclick="odejmowanie()" />
<br/>
<div id="lol"></div>
<br/>
<input type="text" id="pole5" />
<input type="text" id="pole6" />
<input type="submit" class="guzik3" value="pomnoz" onclick="mnozenie()" />
<br/>
<br/>
<input type="text" id="pole7" />
<input type="text" id="pole8" />
<input type="submit" class="guzik4" value="podziel" onclick="dzielenie()" />
<div id="wynik"></div>
</body>
</html>
答案 0 :(得分:1)
看...尝试第一个... dodaj ...工作...
<!DOCTYPE HTML>
<html lang="pl">
<head>
<meta charset="utf-8" />
<title>odliczanie czasu</title>
<link rel="stylesheet" href="div.css">
<script type="text/javascript">
function dodawaj()
{
var liczba = parseFloat(document.getElementById("pole").value);
var liczba2 = parseFloat(document.getElementById("pole2").value);
var suma = liczba+liczba2;
if((isNaN(liczba)) && (isNaN(liczba2)))
{
document.getElementById("wynik").innerHTML = "obie liczby nie sa liczbami";
}
else if(isNaN(liczba))
{
document.getElementById("wynik").innerHTML = "pierwsza liczba nie jest liczba";
}
else if(isNaN(liczba2))
{
document.getElementById("wynik").innerHTML = "druga liczba nie jest liczba";
}
else if(suma>0)
{
document.getElementById("wynik").innerHTML = suma+" = liczba dodatnia";
var img = document.createElement("IMG");
img.setAttribute("src", "https://www.petmd.com/sites/default/files/Acute-Dog-Diarrhea-47066074.jpg");
img.setAttribute("width", "304");
img.setAttribute("height", "228");
img.setAttribute("alt", "The Pulpit Rock");
document.body.appendChild(img);
}
else if(suma<0)
{
document.getElementById("wynik").innerHTML = suma+" = liczba ujemna";
}
else if((liczba==0) && (liczba2==0))
{
document.getElementById("wynik").innerHTML = "Podales dwa zera";
}
}
function odejmowanie()
{
var liczba = parseFloat(document.getElementById("pole3").value);
var liczba2 = parseFloat(document.getElementById("pole4").value);
var roznica = liczba-liczba2;
if((isNaN(liczba)) && (isNaN(liczba2)))
{
document.getElementById("wynik").innerHTML = "obie liczby nie sa liczbami";
}
else if(isNaN(liczba))
{
document.getElementById("wynik").innerHTML = "pierwsza liczba nie jest liczba";
}
else if(isNaN(liczba2))
{
document.getElementById("wynik").innerHTML = "druga liczba nie jest liczba";
}
else if(roznica>0)
{
document.getElementById("wynik").innerHTML = roznica+" = liczba dodatnia";
}
else if(roznica<0)
{
document.getElementById("wynik").innerHTML = roznica+" = liczba ujemna";
}
else if((liczba==0) && (liczba2==0))
{
document.getElementById("wynik").innerHTML = "Podales dwa zera";
}
}
function mnozenie()
{
var liczba = parseFloat(document.getElementById("pole5").value);
var liczba2 = parseFloat(document.getElementById("pole6").value);
var iloczyn = liczba*liczba2;
if((isNaN(liczba)) && (isNaN(liczba2)))
{
document.getElementById("wynik").innerHTML = "obie liczby nie sa liczbami";
}
else if(isNaN(liczba))
{
document.getElementById("wynik").innerHTML = "pierwsza liczba nie jest liczba";
}
else if(isNaN(liczba2))
{
document.getElementById("wynik").innerHTML = "druga liczba nie jest liczba";
}
else if(iloczyn>0)
{
document.getElementById("wynik").innerHTML = iloczyn+" = liczba dodatnia";
}
else if(iloczyn<0)
{
document.getElementById("wynik").innerHTML = iloczyn+" = liczba ujemna";
}
else if((liczba==0) && (liczba2==0))
{
document.getElementById("wynik").innerHTML = "Podales dwa zera";
}
else if((liczba==0) || (liczba2==0))
{
document.getElementById("wynik").innerHTML = "Nie mnozymy przez zero";
}
}
function dzielenie()
{
var liczba = parseFloat(document.getElementById("pole7").value);
var liczba2 = parseFloat(document.getElementById("pole8").value);
liczba = Math.floor(liczba*100) / 100;
liczba2 = Math.floor(liczba2*100) / 100;
var iloraz = liczba/liczba2;
if((isNaN(liczba)) && (isNaN(liczba2)))
{
document.getElementById("wynik").innerHTML = "obie liczby nie sa liczbami";
}
else if(isNaN(liczba))
{
document.getElementById("wynik").innerHTML = "pierwsza liczba nie jest liczba";
}
else if(isNaN(liczba2))
{
document.getElementById("wynik").innerHTML = "druga liczba nie jest liczba";
}
else if(iloraz>0)
{
document.getElementById("wynik").innerHTML = iloraz+" = liczba dodatnia";
}
else if(iloraz<0)
{
document.getElementById("wynik").innerHTML = iloraz+" = liczba ujemna";
}
else if((liczba==0) && (liczba2==0))
{
document.getElementById("wynik").innerHTML = "Podales dwa zera";
}
else if((liczba==0) || (liczba2==0))
{
document.getElementById("wynik").innerHTML = "Nie dzielimy przez zero";
}
}
</script>
</head>
<body>
<div class="napis">Smiglowy kalkulator</div>
<input type="text" id="pole"/>
<input type="text" id="pole2"/>
<input type="submit" class="guzik" value="dodaj" onclick="dodawaj()"/>
<br/>
<br/>
<input type="text" id="pole3"/>
<input type="text" id="pole4"/>
<input type="submit" class="guzik2" value="odejmij" onclick="odejmowanie()"/>
<br/>
<div id="lol"></div>
<br/>
<input type="text" id="pole5"/>
<input type="text" id="pole6"/>
<input type="submit" class="guzik3" value="pomnoz" onclick="mnozenie()"/>
<br/>
<br/>
<input type="text" id="pole7"/>
<input type="text" id="pole8"/>
<input type="submit" class="guzik4" value="podziel" onclick="dzielenie()"/>
<div id="wynik"></div>
</body>
</html>
答案 1 :(得分:1)
一种方法是将图像与可见div一起放入容器div中,但使用display: none
设置图像样式。然后,当满足条件时,可以交换style.display属性以显示图像而不是div,例如:
document.getElementById("myInput").addEventListener("change", waitForNine);
function waitForNine(event){
if(event.target.value == 9){
document.getElementById("stuffUsersSee").style.display = "none";
document.getElementById("myImg").style.display = "block";
}
}
#myInput{width: 5ch; }
#container{
width: 100px;
height: 75px;
margin: 10px;
border: 1px solid gray; }
#myImg{
display: none;
}
3+3=<input id="myInput" />
<div id="container">
<div id="stuffUsersSee">Stuff</div>
<img id="myImg" src="/myImage.png" />
</div>
或者,如果要保持HTML的整洁,可以在JS中创建myImg
元素,然后使用document.getElementById("container").innerHTML = myImg;
覆盖以前的内容。