模态对话框在网站中默认打开一次

时间:2017-08-29 09:09:48

标签: javascript css html5 twitter-bootstrap

我不想添加模态对话框作为如何使用网站的信息框。我已经完成了代码,它可以工作,但我的问题是,我的浏览器中有多个选项卡,我的模态对话框在默认选项卡中。当我更改标签并再次返回默认选项卡时,将再次显示模式对话框。我想在打开网站时只显示一次模态对话框。

 <body onload="mumbai();">

       <nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
      <div class="container-fluid">
        <div class="navbar-header">
          <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#myNavbar">
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>                        
          </button>
          <a class="navbar-brand" href="#"><span><img style="height:20px;width:20px;"src="http://cdn.9appsdownloading.com/group1/M01/35/1C/poYBAFcpqU-AFa5CAAAMm35WLrc217.png"></span><h3 style="display:inline;color:white">Urban Growth of Indian Cities</h3></a>
        </div>
        <div class="collapse navbar-collapse" id="myNavbar">
          <ul class="nav navbar-nav navbar-right">
           <li><a href="#">Mumbai</a></li>
                       <li class="divider"></li>
                      <li><a href="master1.html">Delhi</a></li>
                      <li class="divider"></li>
                      <li><a href="Bengaluru.html">Bengaluru</a></li>
                      <li class="divider"></li>
                      <li><a href="Chennai.html">Chennai</a></li>
                       <li class="divider"></li>
                      <li><a href="Kolkata.html">Kolkata</a></li>
                      <li class="divider"></li>
                      <li><a href="Hyderabad.html">Hyderabad</a></li>
                </ul>
        </div>
      </div>
    </nav>
    <div class="modal fade" id="memberModal">
        <div class="modal-dialog">
            <div class="modal-content">
        <div class="modal-header">
                    <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                     <!--<h4 class="modal-title" id="memberModalLabel">Thank you for signing in!</h4>-->

                </div>
                <div class="modal-body">
                <img src="images/Webmap_info_25_8_2017.png"></img>
                </div>
               <div class="modal-footer">

                </div>
            </div>
        </div>
    </div>
    <script>
    $(document).ready(function () {
 $('#memberModal').modal('show');
});

    </script>

3 个答案:

答案 0 :(得分:2)

终于解决了问题。

$(document).ready(function() {
    var yetVisited =sessionStorage['visited'];
    if (!yetVisited) {
        $("#Modal").modal("show").on("shown", function () {
            window.setTimeout(function () {
                $("#Modal").modal("hide");
            }, 20000);
        });

        // open popup
       sessionStorage['visited'] ="yes";
    }
    });

感谢Patrick和ProEvilz。

答案 1 :(得分:1)

您可以使用sessionStorage来识别用户刚访问过您的第一个网站:

$(document).ready(function() {
    var firstSite = sessionStorage['firstSite'];
    if (!firstSite) { // or firstSite != "visited"

        // some code here if the user is new to the site
        $('#memberModal').modal('show');

        sessionStorage['firstSite'] = "visited";
    }
});
  

sessionStorage 为每个给定的来源维护一个单独的存储区域   这是在页面会话期间可用的(只要   浏览器已打开,包括页面重新加载和恢复)

这是一个jsFiddle来展示它是如何运作的。

答案 2 :(得分:0)

尝试:

<script>
var visited = false;
$(document).ready(function () {
  if (visited == false) {
    $('#memberModal').modal('show');
    visited = true;
  }
});
</script>