2013-12-11 1 views
-1

Эй, я действительно не понимаю, почему моя кнопка продолжает исчезать на меня, я должен также упомянуть, что я не сделал ни одного javascript, как 2 месяца, так что Возможно, я немного ржавый.Моя кнопка продолжает исчезать в моих 99 бутылках пива на стенной программе

<html> 
<head></head> 
<body> 
    <script language = "JavaScript"> 
    function Count(){ 
     var x = "98"; 
     x--; 
     var y = document.write(x + "<p> Bottles of beer on the wall </p>" + x + "<p> bottles of beer You take one down pass it around</p>" + x-- + "<p> of beer on the wall!</p>"); 
     document.getElementById('text').innerHTML = y; 
    } 
    </script> 

    <form> 
     <input type="button" value="Count" onClick="Count()"> 
    </form> 
    <p id="text">99 Bottles of beer on the wall 99 Bottles of beer you take one down pass it around 98 bottles of beer on the wall!</p> 
</body> 
</html> 
+0

Кроме того, что касается перезаписи тела: https://developer.mozilla.org/en-US/docs/Web/API/document.write?redirectlocale=en-US&redirectslug=DOM%2Fdocument.write# Примечания –

ответ

2

Удалить document.write который переопределяет тело

var y = x + "<p> Bottles of beer on the wall </p>" + x + 
      "<p> bottles of beer You take one down pass it around</p>" + x-- + 
      "<p> of beer on the wall!</p>"; 
document.getElementById('text').innerHTML = y; 

Вот в этом ответе вы можете найти What actually document.write does?

0

Это потому, что document.write() перезаписывает ваше тело. использование вместо этого:

var y = (x + "<p> Bottles of beer on the wall </p>" + x + "<p> bottles of beer You take one down pass it around</p>" + x-- + "<p> of beer on the wall!</p>"); 
document.getElementById('text').innerHTML = y; 
0

Основная тонкая, чтобы не использовать document.write() в этом случае. Это фактически записывается в браузер. Попробуйте это:

<html> 
<head></head> 
<body> 
    <script language = "JavaScript"> 
    var x = "98"; 
    function Count(){ 
     next = x - 1; 
     var y = x + " bottles of beer on the wall " + x + " bottles of beer You take one down pass it  around " + next + " of beer on the wall!"; 
     document.getElementById('text').innerHTML = y; 
     x--; 
     return false; 
    } 
    </script> 

    <form action="#" method="post"> 
     <input type="button" value="Count" onClick="Count()"> 
    </form> 
    <p id="text">99 Bottles of beer on the wall 99 Bottles of beer you take one down pass it around 98  bottles of beer on the wall!</p> 
</body> 
</html> 

Вы также были некоторые проблемы с тем, как вы уменьшающимся x.

+0

Итак, я скопировал ваш код, но удалил x--; потому что это уменьшит его дважды, и это вызовет проблемы, и теперь, когда я нажимаю на кнопку, ничего не происходит? –

Смежные вопросы