2015-03-02 113 views
0

我想用我的JavaScript cookie讓應用程序看到用戶是否已經登錄..我在我的控制檯得到的cookie的值..但每當我作出聲明,並想隱藏一個div該div不做任何事情,它不顯示或隱藏..你們可以幫我嗎?Cookie jquery隱藏並顯示div

function writeCookie(name,value,days) { 
    var date, expires; 
    if (days) { 
     date = new Date(); 
     date.setTime(date.getTime()+(days*24*60*60*1000)); 
     expires = "; expires=" + date.toGMTString(); 
      }else{ 
     expires = ""; 
    } 
    document.cookie = name + "=" + value + expires + "; path=/"; 

} 
function readCookie(name) { 
    var i, c, ca, nameEQ = name + "="; 
    ca = document.cookie.split(';'); 
    for(i=0;i < ca.length;i++) { 
     c = ca[i]; 
     while (c.charAt(0)==' ') { 
      c = c.substring(1,c.length); 
     } 
     if (c.indexOf(nameEQ) == 0) { 
      return c.substring(name.length,c.length); 
     } 
    } 
    return ''; 
} 

var user = readCookie('email'); 

if (!user) { 
    document.getElementById('loginNav').style.display = 'block'; 
    document.getElementById('username').style.display = 'block'; 
    $("#loginNav").css("display","block"); 
}else{ 
    $("#loginNav").css("display","block"); 
    console.log($("#loginNav").css("display","block")); 

} 
+1

你爲什麼要同時使用純JS和jQuery做同樣的事情,什麼時候它應該隱藏,我所看到的全部是'display:block',這兩個部分的條件? – adeneo 2015-03-02 15:53:50

+0

@adeneo,因爲沒有我使用的腳本無法正常工作,而且我的div上沒有顯示任何內容,但它並沒有顯示在兩個聲明中。 – Dennis 2015-03-02 15:57:04

+0

請確保您在頁面執行後執行代碼加載。 – gon250 2015-03-02 16:06:50

回答

0

if $('#loginNav').length == 0那麼你的元素尚未加載。

確保該代碼提供您的jQuery的鏈接後,它是由一個包圍:

$(document).ready(function(){ 
var user = readCookie('email'); 
    if (!user) { 
     $('#loginNav, #username').show(); 
    }else{ 
     $("#loginNav, #username").hide();  
     //did you forget to hide the username? 
    } 
}); 

確保您加載所有的JS文件在你的HTML時代的結束。

+0

謝謝你的幫助,但如果我嘗試這不會顯示或隱藏我的電子郵件或我的loginNav ..:$ – Dennis 2015-03-05 08:28:01

+0

您的readCookie()返回正確的信息? – rottenoats 2015-03-05 08:39:30

+0

如果我console.log(用戶)比我得到我的控制檯.. = = [email protected] @Grimbode – Dennis 2015-03-05 08:51:04

0

嗨設置「顯示」屬性設置爲「無」來隱藏....和「塊」,以顯示 我也將使用「可見性」:

if (!user) { 
    $("#loginNav, #username").css("display","block"); 
    $("#username, #username").css("visibility","visible"); 
}else{ 
    $("#loginNav, #username").css("display","none"); 
    $("#username, #username").css("visibility","hidden"); 
}