javascript – 如何使div隐藏和显示为弹出窗口?

前端之家收集整理的这篇文章主要介绍了javascript – 如何使div隐藏和显示为弹出窗口?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我是jQuery的新手.我正在尝试在我的项目中创建搜索功能.我创建了一个包含城市名称的div,我希望它可以在按钮的点击事件上显示.我可以使用jQuery的slideToggle()方法隐藏并显示该div的按钮的点击事件.
但是当显示div时,我的页面的其他内容会分心.我不期望这种行为.

这是我显示该div之前的形象:

以下是显示div之后的页面的图像:

现在我想要将这个div显示为弹出窗口,这样它不会分散页面的其他内容.

以下是HTML中我的搜索框部分的代码

<!--start SearchBox section-->
        <section id="searchBox"style="background:white">
            <div class="container" style="margin-top:0px;">


              <div class="row">

                    <div class="col-lg-12">


               <form style="">
                    <center>
                            <div id="SearchBoxBorder" style="background:white;border:2px solid #a1a1a1;border-radius:5px;margin-top:20px;width:800px;">
                            <table id="mytable" >
                                    <td style="width:300px;background:white;">
                                       <center> <div class="form-group">
                                                <input type="text" class="form-control" id="exampleInputEmail1" placeholder="I am looking for"
                                                    style="border-width:5px;background:white; margin-top:17px; margin-left:15px; margin-right:10px;width:300px;
                                                    border-style:solid;border-width:5px;border-color:#a1a1a1;font-family:Arial,Helvetica,sans-serif;height:42px; font-size:18px;">
                                        </div></center>
                                     </td>

                                     <td style="width:50px ;text-align:right;background:white;"> <center><strong> in</strong></center>    </td>

                                     <td style="width:400px;background:white;">
                                     <center>
                                             <div class="input-group">
                                                   <input type="text" class="form-control" placeholder="in locality"
                                                    style="border-width:5px;background:white; margin-top:0px; margin-left:10px; margin-right:20px;width:;font-size:18px;
                                                    border-style:solid;border-width:5px;border-color:#a1a1a1;font-family:Arial,sans-serif;height:42px;">
                                                   <div class="input-group-btn">
                                                            <button type="button" class="btn btn-default dropdown-toggle"  data-toggle="dropdown" id="dropdownBtn" 
                                                             style="background:white;border-top-width:5px;border-right-width:5px;border-bottom-width:5px;border-left-width:1px;
                                                             border-color:#a1a1a1;height:42px;border-radius:0px;text-align:center;color:black; margin-right:20px;">Select<span class="caret"></span></button>

                                                             <!--City dropdown -->
                                                                    <div class="SearchCities">
                                                                            <div id="outer" style="">



                                                                                        <div id="innerLeft" style="">
                                                                                            <h5 >North India:</h5>
                                                                                            <ul class="city" type="none";>
                                                                                                    <li><a>Delhi</a></li>
                                                                                                    <li><a>Agra</a></li>
                                                                                                    <li><a>Shrinagar</a></li>
                                                                                                    <li><a>Noida</a></li>
                                                                                                    <li><a>Himachal</a></li>
                                                                                                    <li><a>Patna</a></li>
                                                                                            </ul>

                                                                                        </div>

                                                                                        <div id="innerRight" style="">
                                                                                            <a class="close">&times;</a>
                                                                                            <h5>West India:</h5>
                                                                                            <ul class="city" type="none";>
                                                                                                    <li><a>Mumbai</a></li>
                                                                                                    <li><a>Pune</a></li>
                                                                                                    <li><a>Nashik</a></li>
                                                                                                    <li><a>Kolhapur</a></li>
                                                                                                    <li><a>Osmanabad</a></li>
                                                                                                    <li><a>Ahamdabad</a></li>
                                                                                            </ul>
                                                                                        </div>


                                                                            </div><!--/outer-->
                                                                        </div><!--/SearchCities-->


                                                             </div><!-- /btn-group -->
                                                   <button type="button" class="btn btn-primary" style="margin-right:20px;"><i class="icon-search" style="font-size:20px"></i>  Search</button>
                                             </div><!-- /input-group -->
                                           </center>         
                                     </td>

                            </table>
                        </center>
                    </form>

    </div><!--/col-lg-12-->
</div><!--/row-->
    </div><!--/end of container-->
</section>
<!--End of SearchBox section-->

以下是我的jQuery代码

$(document).ready(function(){
  $(".SearchCities").hide();
  $("#dropdownBtn").click(function(){
  $(".SearchCities").slideToggle();
  });
});

更多的想法我想做的是访问:askme.com,看到顶部的搜索框,然后点击印度的其余部分.
所以请你帮我实现这个
先谢谢你.

解决方法

你基本上有三种方式:

>手工:使弹出的div浮动并定位,然后设置为100%(这将使它看起来像一个弹出菜单.确保父元素具有相对定位.

HTML:

<div class="input-group" style="position: relative;">
  <div class="SearchCities">
    ...
  </div>
</div>

CSS:

.SearchCities {
  float: right;
  position: absolute;
  top: 100%;
}

JS:不需要更改
>使用jQueryUI的对话框插件:正如在nrsharma的答案中所指出的那样,您可以使用jQuery插件使其看起来像一个弹出对话框.

$('.SearchCities').dialog({ autoOpen: false }); // Initialize dialog plugin
$('.SearchCities').dialog("open"); // Open popup

API参考:http://api.jqueryui.com/dialog/

示例:http://jqueryui.com/dialog/

插件下载:http://jqueryui.com/download/
>使用Bootstrap的下拉组件:从您的代码看,您正在使用引导.您可以轻松使用引导下拉菜单或模式.

Bootstrap模式是弹出对话框,就像jQueryUI的对话框插件一样,但是它们看起来更好,而且更可自定义.看看有一个例子:http://getbootstrap.com/javascript/#modals

Bootstrap下拉菜单是简单的下拉菜单,但是有一点黑客可以在其中放置任何东西.

所有你需要的是一些HTML(没有JavaScript):

<div class="input-group dropdown">
  <button type="button" class="btn btn-default dropdown-toggle"
    data-toggle="dropdown" id="dropdownBtn" role="button">...</button>
  <div class="dropdown-menu SearchCities" role="menu">
    ...
  </div>
</div>

为了使此工作,您还需要包含Bootstrap js插件(bootstrap.js / bootstrap.min.js).

参考:http://getbootstrap.com/javascript/#dropdowns

猜你在找的JavaScript相关文章