变量检查错误代码(javascript)

时间:2015-12-26 13:48:27

标签: javascript

<script type="text/javascript">
    var old;
    var auto_refresh = setInterval(function() {
        old = document.getElementById('load_donnees3').innerHTML;
        $('#load_donnees3').load('shoutbox-number.php').fadeIn("slow");
        if (old != document.getElementById('load_donnees3').innerHTML) {
            var audio = new Audio('bip.mp3');
            audio.play();
        }
    }, 200); 
</script>

shoutbox-number.php页面返回一个数字,当我更改页面数量时,变量old与div load_donnees3同时更改,为什么? 我不想查看div中的代码是否发生变化,如果发生变化,则播放声音bip.mp3

1 个答案:

答案 0 :(得分:2)

你得到一个值:

old = document.getElementById('load_donnees3').innerHTML;

然后将其与... 相同的值

进行比较
if (old != document.getElementById('load_donnees3').innerHTML)

if语句总是false,因为值本身永远不会是!=

如果此代码用于更改值的来源:

$('#load_donnees3').load('shoutbox-number.php').fadeIn("slow");

然后你会想要在执行之后获得新值。由于这是异步执行的,因此需要在回调函数中进行比较。像这样:

$('#load_donnees3').load('shoutbox-number.php', function () {
    $('#load_donnees3').fadeIn("slow");
    if (old != document.getElementById('load_donnees3').innerHTML) {
        var audio = new Audio('bip.mp3');
        audio.play();
    }
});