2013-02-21 2 views
0

이 스크립트에 무슨 문제가 있습니까? 그것은 스스로 재설정하고 두 번째 div는 절대 변경되지 않습니다. 내가 뭔가 빠졌어? 나는 아마 변수를 다루는 더 좋은 방법이 필요하다고 생각하고있다. 누군가가 멋지다는 것을 안다면. 당신이 ==를 사용해야 비교를 위해, jsfiddleIf-else JavaScript가 작동하지 않습니다.

+0

가능한 중복 : 세상에, 내가 지금 너무 바보 같은 느낌이 http://stackoverflow.com/questions/13851399/javascript-if-statements-not-working가 –

답변

4

함수가 =를 통해 할당을하고있는에

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 테스트 스크립트입니다.

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 Working demo

+0

, 내가해야 그 눈의, 필자는 내 두뇌가 왜 놀고 있었는지 알아보고있다. 그것을 볼 수 있도록 도와 주셔서 감사합니다! – Keleko

+0

그래. 그것은 우리 모두에게 어느 시점에서 일어납니다. – Jesse

0

귀하의 비교는 실제로 할당은 아래 시도 :

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

당신은 정확히 아무것도하지없는 경우 루프를 (그리고 잘못된 비교 연산자를 사용). 대신이 시도 :

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

function showtext() { 
    $('#text').text(lang); 
    $('#cur').text(lang); 
} 
+0

나는 코드의 스 니펫 (snippet)을 최적화하기보다는 if 문을 배우고 수정하고 싶어한다고 생각한다. – Jesse

+0

충분합니다. 나는 확실하지 않았다. – isherwood

관련 문제