Я большой любитель, когда дело доходит до javascript и jquery, я едва могу его прочитать.
Я попробовал решение, размещенное на FancyBox - "Не показывать это сообщение еще раз"? , однако, похоже, это не работает для меня, когда я проверяю его.
Мне нужна кнопка, которая скрывает определенный элемент (по идентификатору) и создает куки файл, который гарантирует, что этот человек не увидит это сообщение еще раз.
У меня есть этот текст:
<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>
и мне нужна кнопка, которая говорит "Не показывать это снова",
Очень жаль, если это глупый вопрос. Надеюсь, на это легко ответить. Спасибо.
просто используйте 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>
Создайте кнопку:
<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
}
});
Это простое использование плагина 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();
}
Или что бы вы ни делали!
Если в любом случае вам нужно удалить кокету, вы можете позвонить:
$.removeCookie("buttonClicked");
как я вижу на вашей веб-странице, вы делаете... страшный! Я предлагаю:
вызывать custom.js после того, как все jquery-плагины
Ваш файл custom.js будет:
(function($) {
$(document).ready(function() {
/* insert here code above */
});
})(jQuery);