2012-02-22 5 views
0

내가 너무 오랫동안 쳐다 보았을 수도 있고, 작성한 기능이 그다지 복잡하지는 않지만 어떤 이유로 든 할 수 없다. 이 기능이 제대로 작동하도록하십시오. h1 태그는 변경해야하지만 if-else는 "page_layout"변수를 기반으로 작동하지 않는 것 같습니다. 내 코드는 어떤 아이디어입니까?jquery가 제대로 작동하지 않을 경우

<script> 
    $(document).ready(
    function() { 
     //Set text for H1 tags here 
     var title = "Test title"; 

     //Set main-image layout here (1,2,3,4) 
     var page_layout = "1"; 

     //If page_layout = 4, then set connected-image for top 
     var connected_image = "images/connected-image.jpg"; 

     //Image for main-image area 
     var main_image = "images/main-image.jpg"; 

     //Set main-image text here 
     var main_image_text = "See how this works."; 

     //Set main-image-text-url location 
     var main_image_text_url = "http://www.example.com"; 

     //Do not touch this code 
     $('h1').html(title); 

     if (page_layout == "1"){ 
      $.('#main-image').css('background-image', main_image); 
      $.('#main-image').css('background-position', 'top right'); 
      $.('#main-image').css('background-repeat','no-repeat'); 
      $.('#main-image').addClass('padding-21'); 
      $.('#main-image').html(main_image_text); 
      $.('#main-image').append('<br><a href="' + main_image_text_url + '">tell me more</a>'); 
     }else if (page_layout == "2"){ 
      $.('#middle').css('font-size','15px'); 
      $.('#main-image').addClass('padding-21'); 
      $.('#main-image').html(main_image_text); 
      $.('#main-image').append('<br><a href="' + main_image_text_url + '">tell me more</a>'); 
     }else if (page_layout == "3"){ 
      $.('#main-image').css('background-image', main_image); 
      $.('#main-image').css('background-position', 'top left'); 
      $.('#main-image').css('background-repeat','no-repeat'); 
      $.('#main-image').addClass('padding-491'); 
      $.('#main-image').html(main_image_text); 
      $.('#main-image').append('<br><a href="' + main_image_text_url + '">tell me more</a>'); 
     }else if (page_layout == "4"){ 
      $.('connected-image').css('background-image', connected_image); 
      $.('connected-image').css('background-position', 'top right'); 
      $.('connected-image').css('background-repeat','no-repeat'); 
     }else{ 
      //Nothing 
     } 
    } 
    ) 
</script> 
+2

코드가 수행하는 작업과 예상되는 작업은 무엇입니까? – jrummell

+0

'if' 문이 나에게 잘 들립니다. 코드가 무엇입니까 ** 당신이 기대하는대로하지 않고 있습니까? 당신은 모든 코드를 포함 시켰습니까? 왜냐하면 나에게 그것은'page_layout'이 동적으로 값이 변경된 것을 제안하기 때문입니다 ... – ManseUK

+2

jQuery는 IF-Else를 지원하지 않습니다. 그건 JavaScript입니다. –

답변

2

처음에는 자바 스크립트 콘솔에 몇 가지 구문 오류가 표시되어야합니다. 선택기를 $.('selector')에서 $('selector')으로 변경해야합니다 ($ 이후에 .을 삭제하십시오).

또한 $('connected-image')은 아마도 클래스 선택기 $('.connected-image')을 사용해야합니다.

+0

와우, 내가 어떻게 그리워 했니? 이것은 잘 작동합니다. 당신 모두를 괴롭히는 것을 유감스럽게 생각합니다. – ndisdabest

2

실제로 어떤 행동을하는지 명확하게 알 수 없지만 $와 열린 괄호 사이에 마침표가 없어야하는 등의 다른 문제가있을 수 있습니다.

console.log("This is case 1"); 

// ... do this inside each if-else {...} 

console.log("This is case 4"); 

그런 다음 불을 지르고 콘솔 열려있는 페이지를 다시로드하고, 블록 있는지 확인 :

$('connected-image').css('background-repeat','no-repeat'); 

하지 각각의 경우 - 다른 블록 내

$.('connected-image').css('background-repeat','no-repeat'); 
0

, 즉 추가 실행 중입니다. 그렇다면 if-else 조건이 잘 작동하고 if-else 블록 내부의 명령문에 문제가 있어야한다는 것을 알고 있습니다.

관련 문제