2012-02-22 62 views
0

這可能是我一直在盯着這個太久了,我寫的函數並不是那麼複雜,但無論什麼原因,我都不能讓這個功能正常。 h1標籤會根據需要進行更改,但我的if-else似乎無法基於「page_layout」變量運行。我的代碼在下面...任何想法?不能讓jquery If-Else正常運行

<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 2012-02-22 20:40:36

+0

'if'語句對我來說看起來很好......代碼是什麼**而不是**你期望它做什麼?你有沒有包含所有的代碼?因爲對我來說,它表明'page_layout'的值已經動態變化了...... – ManseUK 2012-02-22 20:41:34

+2

jQuery不支持IF-Else。這就是JavaScript。 – 2012-02-22 20:41:49

回答

2

對於初學者,您應該會看到javascript控制檯中的一些語法錯誤。您需要將選擇器從$.('selector')更改爲$('selector')(在$之後刪除.)。

此外,$('connected-image')應該可能使用類選擇器$('.connected-image')

+0

哇,我怎麼錯過了?這工作正常。對不起,你錯了。 – ndisdabest 2012-02-22 20:48:47

2

可能還有其他問題,因爲它不清楚你看到的是什麼行爲,但是你不應該需要在$和開放的parens之間的時間段。

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

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

在每個if-else塊,添加:

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

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

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

然後重新裝入螢火控制檯打開的網頁,並檢查塊正在執行。如果他們是,那麼你知道你的if-else條件工作正常,並且它必須是if-else塊內的語句的問題。