2014-08-31 52 views
0

好吧,我基本上試圖使用getDay()和addClass()來顯示和隱藏內容。getDay()jQuery addClass

目前它似乎不適合我。

我真的很喜歡它隱藏和取消隱藏取決於一天。

在此先感謝!

這裏是我的代碼:

<div class="sundayRadio"> 
       <div class="vertDiv"></div> 
       <section class="schedule on_now"> 
        <p>20:00 NEWS - DJ RANDOM</p> 
        <p>Description.</p> 
       </section> 

function applyclass() 
{ 
var d = new Date(); 
var n = d.getDay(); 
if (n = 0) 
// If day is Sunday 
$('sundayRadio').addClass('show'); 
    $('mondayRadio').addClass('Dshow'); 
    $('tuesdayRadio').addClass('Dshow'); 
    $('wednesdayRadio').addClass('Dshow'); 
    $('thursdayRadio').addClass('Dshow'); 
    $('fridayRadio').addClass('Dshow'); 
    $('saturdayRadio').addClass('Dshow'); 
else if (n = 1) 
// If day is Monday 
$('sundayRadio').addClass('Dshow'); 
    $('mondayRadio').addClass('show'); 
    $('tuesdayRadio').addClass('Dshow'); 
    $('wednesdayRadio').addClass('Dshow'); 
    $('thursdayRadio').addClass('Dshow'); 
    $('fridayRadio').addClass('Dshow'); 
    $('saturdayRadio').addClass('Dshow'); 


else 
//// Else please reload 
$('reloadWarn').addClass('show'); 
    $('sundayRadio').addClass('Dshow'); 
    $('mondayRadio').addClass('Dshow'); 
    $('tuesdayRadio').addClass('Dshow'); 
    $('wednesdayRadio').addClass('Dshow'); 
    $('thursdayRadio').addClass('Dshow'); 
    $('fridayRadio').addClass('Dshow'); 
    $('saturdayRadio').addClass('Dshow'); 
} 
window.onload = applyclass; 

.show { display: block !important; } 
.Dshow { display: none !important; } 
+1

你錯過了「。」所有類名的操作符。也就是說,它應該是'$('.sundayRadio')'。顯然你的代碼將會非常簡單,如果你給這些元素一個普通的類名稱以及它們的標識類名稱。 – Pointy 2014-08-31 12:18:43

+2

你的大括號在哪裏? – 2014-08-31 12:21:34

+0

更新仍然不工作: 如果(n == 0){ //如果一天是.sunday $('。sundayRadio')。addClass('。show'); $('。mondayRadio')。addClass('。Dshow'); $('。tuesdayRadio')。addClass('。Dshow'); $('。wednesdayRadio')。addClass('。Dshow'); ('。thursdayRadio')。addClass('。Dshow'); $('。fridayRadio')。addClass('。Dshow'); $('。saturdayRadio')。addClass('。Dshow'); } – 2014-08-31 12:50:16

回答

2

我得到了下面的代碼中的問題。

1)您使用選擇像

$('mondayRadio').addClass('show'); 

使用.獲得類選擇像波紋管

$('.mondayRadio').addClass('show'); 

2)你要分配

不是在比較中 if

if (n == 0) 

代替

if (n = 0) 

我想比較像波紋管來避免這個問題。

if (0 == n) 

3)您沒有使用{}正常到if提供塊。

說喜歡

if(n==0){ 
//All your code 
} 
else if(n==1){ 
    //code 
} 
else{ 
    //code 
} 

DEMO

1

你缺少你的類的選擇點:

錯誤:

$('sundayRadio') 

正確:

$('.sundayRadio') 

,你是不是比較在if子句:

錯誤:

if (n = 0) 

正確:

if (n === 0) 
1

哪裏是你的大括號?

  • 的JavaScript,空白意味着小
  • 沒有大括號,解釋儘快

例如結束的塊,

if (false) 
    console.log('1'); 
    console.log('2'); 

"2"將總是登錄到控制檯

你需要

if (false) { 
    console.log('1'); 
    console.log('2'); 
} 

您預期的行爲


此外,你的代碼,因爲它是幾乎肯定是扔SyntaxError: Unexpected token else由於這一點,所以在調試

時,它可能是要檢查您的控制檯有用

最後,正如別人指出的那樣,n = 1是一項任務,不是比較,而是總是1; // truthy - 您可能想要使用===,類選擇器以.開頭,就像CSS(語法相同)。

+0

感謝您的回覆! 更新了我的代碼: if(n == 0){ //如果一天是.sunday $('.sundayRadio').addClass('。show'); $('。mondayRadio')。addClass('。Dshow'); $('。tuesdayRadio')。addClass('。Dshow'); $('。wednesdayRadio')。addClass('。Dshow'); ('。thursdayRadio')。addClass('。Dshow'); $('。fridayRadio')。addClass('。Dshow'); $('。saturdayRadio')。addClass('。Dshow'); } 仍然無法正常工作 – 2014-08-31 12:47:09