Мне нужно отобразить jquery popup только один раз с функцией onload - PullRequest
0 голосов
/ 28 июня 2018

Мне нужно отобразить всплывающее окно jquery только один раз с функцией onload. Это мое всплывающее окно с задержкой функции window.onload и видимым для addclass, однако я хочу добавить функцию cookie, чтобы всплывающее окно загружалось только один раз для браузера или кэша.

Любые предложения будут фантастическими! - J запрос & HTML в коде

    jQuery(document).ready(function($){

  window.onload = function (){
    jQuery(".bts-popup").delay(1000).addClass('is-visible');
    }

    //open popup
    jQuery('.bts-popup-trigger').on('click', function(event){
        event.preventDefault();
        jQuery('.bts-popup').addClass('is-visible');
    });

    //close popup
    jQuery('.bts-popup').on('click', function(event){
        if( jQuery(event.target).is('.bts-popup-close') || jQuery(event.target).is('.bts-popup') ) {
            event.preventDefault();
            jQuery(this).removeClass('is-visible');
        }
    });
    //close popup when clicking the esc keyboard button
    jQuery(document).keyup(function(event){
        if(event.which=='27'){
            jQuery('.bts-popup').removeClass('is-visible');
        }
    });
});
   

 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <div class="bts-popup" role="alert">
        <div class="bts-popup-container">
            <div id="contact-form">
                    <form method="post" action="">
                        <input type="hidden" name="form_uid" value="e880e632-8e7c-4b51-8928-b63cd1b6cdb5">
                        <ul>
                            <li class="namefield">
                                <input name="name" type="text" class="name" placeholder="Your Name">
                            </li>
                            <li class="emailfield">
                                <input name="submit_by" type="text" class="email-contact" placeholder="Your Email">
                            </li>
                            <li class="telfield">
                                <input name="telephone" type="text" class="phone" placeholder="Contact Number">
                            </li>
                            <li class="commentsfield">
                                <textarea name="comments" class="query" placeholder="How Can We Help?"></textarea>
                            </li>
                            <li>

                            </li>

                            <li> 
                                <input name="submit-button" type="submit" value="Submit" class="submit">
                                <p class="gdpr-small">*By clicking ‘submit’ you are consenting to us replying, and storing your details. (see our <a href="">privacy policy</a>).</p>
                            </li>
                        </ul>
                        <input type="hidden" name="required" value="name,submit_by,telephone,comments">
                        <input type="hidden" name="data_order" value="name,submit_by,telephone,comments,marketing-opt-in">
                        <input type="HIDDEN" name="automessage" value="mymessage">
                        <input name="ok_url" type="hidden" value="">
                        <input name="not_ok_url" type="hidden" value="">
                    </form>
                </div>
            <a href="#0" class="bts-popup-close"><i class="fa fa-times-circle"></i></a>
        </div>
    </div>

1 Ответ

0 голосов
/ 28 июня 2018

Как просто управлять куки, я думаю, вы можете посмотреть здесь: ссылка

Я думаю, это довольно просто (псевдокод):

if (getCookie("popup") doesnt exist OR is set to 0)
  showPopup();
  setCookie("popup",1);
else
  destroyPopup();
endif

Вы также можете использовать этот простой способ для обработки нескольких всплывающих окон.

Если вы используете PHP, вы можете использовать $ _ COOKIE вместо функции javascript.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...