对于javascript和jquery,我是一个非常业余的人,我几乎无法阅读它。
我尝试了在FancyBox - "Don't show this message again" button?发布的解决方案,但是当我测试时它似乎对我不起作用。
我需要一个隐藏某个元素(按ID)的按钮,并创建一个cookie,确保该人不再看到该消息。
我有这样的文字:
<p id="guidelinestext" class="guidelinestext">Please make sure to read our <a target="_blank" href="http://www.uqreview.com/review-guidelines/">Review Guidelines</a> before posting a review.</p>
我需要一个按钮,上面写着“不再显示”
如果这是一个愚蠢的问题,真的很抱歉。希望很容易回答。谢谢。
答案 0 :(得分:8)
只需使用html5 localStorage
<button id="forgetMe">Don't show this again</button>
<script>
if(localStorage.getItem("DontShow")) {
$("#forgetMe").hide();
}
$(document).on("click", "#forgetMe", function() {
localStorage.setItem("DontShow", "true");
});
</script>
答案 1 :(得分:1)
使用JQuery插件很简单 - JQuery Cookie:
$('#button-id').on('click', function() {
$.cookie("buttonClicked", "YES");
});
在代码中的某处,例如加载主页:
var isVisited = $.cookie("buttonClicked");
if(isVisited === 'YES') {
showButton();
} else {
hideButton();
}
var showButton = function() {
$('#button-id').show();
}
var hideButton = function() {
$('#button-id').hide();
}
或者你要做的任何事情!
如果在任何情况下您必须删除coockie,您可以致电:
$.removeCookie("buttonClicked");
正如我在您的网页上看到的那样,您正在做...奇怪!我建议:
在所有jquery插件之后调用custom.js
您的文件custom.js将是:
(function($) {
$(document).ready(function() {
/* insert here code above */
});
})(jQuery);
答案 2 :(得分:0)
创建按钮:
<button id="dontshow" onclick="dontshow();return false;">Don't show this again</button>
获取此插件:https://github.com/carhartl/jquery-cookie
在点击按钮上设置cookie:
function dontshow(){
$.cookie('visited', 'yes', { expires: 30 }); // Set the cookie.
}
启动时,检查cookie是否存在:
$(document).ready(function() {
var visited = $.cookie('visited');
if (visited == 'yes') {
$("#guidelinestext").hide();
} else {
$("#guidelinestext").show(); // cookie has no value, so show the text
}
});