2014-02-20 3 views
0

Я большой любитель, когда дело доходит до javascript и jquery, я едва могу его прочитать.Мне нужна кнопка «не показывать снова»

Я пробовал решение, размещенное на FancyBox - "Don't show this message again" button?, однако оно не работает для меня, когда я его тестирую.

Мне нужна кнопка, которая скрывает определенный элемент (по идентификатору) и создает файл 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

Не так, как это работает, если вы огромный любитель, вам нужно хотя бы попробовать что-то свое, чтобы учиться, а затем спросить, если вы не понимаете ... как вы спрашиваете, кто-нибудь, чтобы сделать работу за вас. – reyaner

+0

Показать свой код, пожалуйста. Этот вопрос, по-видимому, хорошо охватывает все, что касается этого: http: // stackoverflow.com/questions/18833775/add-cookie-to-fancy-box-popup – isherwood

+1

Если вы * можете едва читать ... * JavaScript может я предлагаю вам попробовать научиться его читать. Это, вероятно, поможет при написании JavaScript. Может быть, попробуйте книгу .... – Liam

ответ

0

Это просто с помощью 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"); 

редактировать

, как я могу видеть с вашей веб-странице, вы doing..strange! Предлагаю:

  • создать custom.js файл
  • custom.js вызова после того, как все JQuery плагин

Ваш файл custom.js будет:

(function($) { 
    $(document).ready(function() { 
     /* insert here code above */ 
    }); 
})(jQuery); 
+0

- это $ .cookie стандартная функция jquery? – Rickert

+0

извините, я забыл ссылку! –

+0

Это не работает для меня .... Я ДОЛЖЕН делать что-то очень неправильно. Вы можете проверить это по адресу http://www.uqreview.com/courses/biol2001/ –

0

Создать кнопку:

<button id="dontshow" onclick="dontshow();return false;">Don't show this again</button> 

Получить этот плагин: https://github.com/carhartl/jquery-cookie

установить куки на кнопку мыши:

function dontshow(){ 
    $.cookie('visited', 'yes', { expires: 30 }); // Set the cookie. 
} 

При запуске, проверьте, если печенье существует:

$(document).ready(function() { 
    var visited = $.cookie('visited'); 
    if (visited == 'yes') { 
     $("#guidelinestext").hide(); 
    } else { 
     $("#guidelinestext").show(); // cookie has no value, so show the text 
    } 
}); 
+0

Это не работает. Вы можете проверить исходный код на странице http://uqreview.com/courses/biol2001/. У меня есть все это, но, похоже, это не работает. У меня также есть заголовок, загружающий файл jquery и файл cookie jquery. Пожалуйста помоги! –

+0

Если вы отметите это в Chrome и F12, то увидите ошибку. Попробуйте JQuery (документ) .ready (функция ($) {вместо $ (документ) .ready (функция() { – perene

+0

я получаю ошибку, когда я нажимаю неперехваченным TypeError: объект не является функцией OnClick Я также получить эту ошибку Uncaught TypeError: свойство '$' объекта [объект Object] не является функцией –

5

просто использовать 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> 
Смежные вопросы