0

这个脚本有什么问题?它会自行重置,第二个 div 永远不会改变。我错过了什么?我在想我可能需要一种更好的方法来处理变量,所以如果有人知道那会很棒。这是我的 jsfiddle 测试脚本:

var lang="de";

$('#en').click(function () {
    lang="en";
});
$('#de').click(function () {
    lang="de";
});
$('#es').click(function () {
    lang="es";
});

function showtext() {
    $('#text').text(lang); 
    if (lang="en") {
        $('#cur').text(lang);
    }
    else if (lang="de") {
        $('#cur').text(lang);
    }
    else if (lang="es") {
        $('#cur').text(lang);
    }
}

showtext();

setInterval(function () {
    showtext();
}, 2000);

jsfiddle上的演示

4

3 回答 3

4

您的功能正在通过分配=,您必须使用比较==

function showtext() {
    $('#text').text(lang); 
    if (lang == "en") {
        $('#cur').text(lang);
    }
    else if (lang == "de") {
        $('#cur').text(lang);
    }
    else if (lang == "es") {
        $('#cur').text(lang);
    }
}

jsFiddle 工作演示

于 2013-02-21T02:20:00.373 回答
0

您的比较实际上是以下分配尝试:

$('#text').text(lang); 
    if (lang=="en"){
        $('#cur').text(lang);
    }
    else if (lang=="de"){
        $('#cur').text(lang);
    }
    else if (lang=="es"){
        $('#cur').text(lang);
    }
于 2013-02-21T02:21:59.107 回答
0

您有一个什么都不做的 if 循环(并且它使用了错误的比较运算符)。试试这个:

http://jsfiddle.net/Su3RC/158/

function showtext() {
    $('#text').text(lang);
    $('#cur').text(lang);
}
于 2013-02-21T02:23:59.403 回答