2016-12-02 112 views
0

html文件只包含id爲「container」的封裝器,當然還有jQuery的google apis。Js日期和切換功能

$(document).ready(function(){ 
for (i=1; i<=24; i++) { 
    $("#container").append("<div class='divs' id='divs" +i+  "'>" +i+  "</div>"); 
} 
}); 
var d = new Date(); 
var month = d.getMonth(); 
var day = d.getDate(); 
if(month == 11){ 
$(document).ready(function(){ 
    $('.divs').each(function() { 
      $(this).click(function(){ 

       if($(this.id == day)){ 
        alert("something"); 
       }else{ 
        alert("something else"); 
       } 
      }); 
    }); 
}); 
} 

這是我現在的代碼。有什麼方法可以讓我真正檢查包含數字的標識(他們都是)是否與日期相同。

+0

爲什麼要使用switch **語句**?你在製作某種出現日曆嗎? –

+0

只是一個指針,'$(document).ready()'是一個在加載文檔時觸發的事件。 'if'裏面不需要它。它用於啓動流程。把你的代碼包裝在函數中,並在'.ready'裏面調用它們,但是沒有定義它們 – Rajesh

+0

haha​​ yeah出現日曆它是一些隨機的學校項目 –

回答

0

創建一個包含24個不同情況的switch語句是一個如果在對if ... elses執行相同操作後可以做的最糟糕的事情。

相反,你應該給每個div一個id,告訴你哪一天他們應該被打開(最後你會有24個div,每個ID都是0,1,2。 )。

當有人點擊一個div,得到日期,檢查它是否是十二月,如果是,那麼檢查div的id是否與當天相同。

如果你還想去與switch語句,它們是這樣的:

switch (day) { 
    case 0: 
     // Open the first div 
     break; 
    case 1: 
     // Open the second div 
     break; 
    // ... 
} 

我希望你明白爲什麼這不是最佳的解決方案

-2

這可能會實現:

$(document).ready(function(){ 
    var d = new Date(); 
    var month = d.getMonth(); 
    var day = d.getDate(); 

    $('[class^="divs"]').click(function() { 
    if(month == 11){ 
     $(this).toggleClass('image'); 
    } else { 
     alert("not allowed"); 
    } 
    }); 
}); 
+0

「我試圖只允許用戶在12月內的特定日期內打開特定的div **」閱讀問題 –