【问题标题】:JQuery if command not working如果命令不起作用,则 JQuery
【发布时间】:2013-04-12 04:51:23
【问题描述】:

我正在尝试让它在 currentLetter 变量达到 34 时改变颜色,但由于某种原因,它只是在我单击时改变颜色。

var isStart = false;
var letterString = "D0E916C0A8CED059359C02DARREN KORB - PALE WATCHERS.mp3E415AAB0014400E104B40DE96A0";
var letters = letterString.split('');
var currentLetter = 0;


function changeLetter() {
    $("#t-" + currentLetter).text(letters[currentLetter - 1]);
    currentLetter += 1;

}

$(document).ready(function () {
    var image = $('#content').click(function () {
        if (!isStart) {
            isStart = true;
            setInterval(changeLetter, 100);
        }


        if (currentLetter == 34) {
            $("#t-1").css("color", "red");
        }

    });
});

非常感谢任何帮助,在此先感谢!

【问题讨论】:

  • 你需要先声明var isStart,然后才能在文档中使用它

标签: jquery if-statement click var


【解决方案1】:

将你的 if 移动到 changeLetter 函数中:

function changeLetter() {
    $("#t-"+currentLetter).text(letters[currentLetter-1]);
    currentLetter +=1 ;
    if (currentLetter == 34) {
       $("#t-1").css("color", "red");          
    }

}

请注意,您应该保留间隔 ID,否则您将无法停止它。

var isStart = false;
var letterString = "D0E916C0A8CED059359C02DARREN KORB - PALE WATCHERS.mp3E415AAB0014400E104B40DE96A0";
var letters = letterString.split('');
var currentLetter = 0;
 var intervalID;

function changeLetter() {
    $("#t-"+currentLetter).text(letters[currentLetter-1]);
    currentLetter +=1 ;
    if (currentLetter == 34) {
           $("#t-1").css("color", "red");    
           clearInterval(intervalID);       
        }
}

$(document).ready(function() {
    var image = $('#content').click(function() {
        if  (!isStart) {
            isStart = true;
           intervalID =  setInterval(changeLetter, 100);
        }
    });
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-01-24
    • 1970-01-01
    • 1970-01-01
    • 2012-12-24
    • 1970-01-01
    • 2020-10-31
    • 2013-04-17
    相关资源
    最近更新 更多