我只需要在功能加载时显示一次jQuery弹出窗口

时间:2018-06-28 14:15:08

标签: javascript jquery html function

我只需要在功能加载时显示一次jquery弹出窗口。这是我的弹出窗口,带有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 :(得分:1)

如何简单地管理cookie,我想您可以在这里观看:link

我认为这很简单(伪代码):

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

您也可以使用这种简单的方法来处理多个popoups。

如果您使用PHP,则可以使用$_COOKIE代替javascript函数。

希望有帮助。