2017-08-21 191 views
0

當我單擊Close this message時,我試圖隱藏cookies-banner-bloc div。我哪裏錯了?單擊超鏈接將div設置爲不透明度0

HTML:

<div class="cookies-banner-bloc"> 
    <div class="cookies-banner-container"> 
     <p>We use cookies on this website.</p> 
     <a class="cookies-close-button no-border">Close this Message</a> 
    </div> 
</div> 

CSS:

.hide { 
    opacity:0; 
} 

JS:

$(document).ready(function() { 

    if(getCookie("userclosedalert")=="true"){ 
      $(".cookies-banner-bloc").addClass('hide'); 
      removeClass = false; 
    } 
    $(".cookies-close-button").click(function() { 
     document.cookie = "userclosedalert=true"; 

    }); 

}); 

演示: https://jsfiddle.net/28860gqj/

+0

您可以使用顯示器無屬性來隱藏使用CSS一個div。 – Super

回答

2

我使用jQuery cookie來管理cookie。
我覺得它很容易使用。

有關如何使用的文檔是here ...如果不再維護此GitHub頁面,則此事件對文檔非常有用。最近的CDN是here

$(document).ready(function() { 

    // A console check on the cookie value. 
    console.log($.cookie("userclosedalert")); 

    // if the cookie exist 
    if($.cookie("userclosedalert")=="true"){ 
    $(".cookies-banner-bloc").addClass('hide'); 
    console.log("cookie found"); 
    } 

    // Set the cookie on click 
    $(".cookies-close-button").click(function() { 
    $.cookie("userclosedalert","true", {expires: 7, path: "/"}); // Expires isn't mandatory and is in days. 
    console.log("cookie setted"); 
    $(".cookies-banner-bloc").addClass('hide'); 
    }); 

}); 

CodePen

1

當你點擊按鈕時,你沒有檢查。只需在點擊內移動你的條件即可。

但是,爲什麼要設置和刪除cookie?我在這裏沒有看到它的任何用法。

$(document).ready(function() { 

    $(".cookies-close-button").click(function() { 
     document.cookie = "userclosedalert=true"; 
    if(getCookie("userclosedalert")=="true"){ 
      $(".cookies-banner-bloc").addClass('hide'); 
      removeClass = false; 
    } 

    }); 

}); 

https://jsfiddle.net/28860gqj/1/

1

的getCookie是行不通的,所以您收到此錯誤 Uncaught ReferenceError: getCookie is not defined。也許你應該使用document.cookie。你可以找到如何在這裏讀取cookies:

Reading cookies by name

其餘的看起來不錯,到目前爲止,所以這被固定後,按預期正常工作了。

2

你有點擊的事件,以及之後要添加的類別:

$(document).ready(function() { 

    if(getCookie("userclosedalert")=="true"){ 
     $(".cookies-banner-bloc").addClass('hide'); 
     removeClass = false; 
    } 
    $(".cookies-close-button").click(function() { 
     document.cookie = "userclosedalert=true"; 
     $(".cookies-banner-bloc").addClass('hide'); 
    }); 

}); 

因此,將一個重裝後在click事件之後的工作。

相關問題