【问题标题】:Close and open new modal by clicking a link通过单击链接关闭和打开新模式
【发布时间】:2015-04-18 16:00:33
【问题描述】:

我有两个使用引导程序创建的模式 - 一个用于登录,一个用于注册。在每个模态中,我都有一个链接,我希望它引用另一个模态。例如,注册模式打开,注册用户可以单击注册模式内的链接进行登录,反之亦然。 如何在单击登录链接时关闭注册 div 而改为打开登录 div?

完整代码在这里:

https://jsfiddle.net/f9r3ttpw/

这是注册模式的示例起始代码:

<div class="modal modal-backdrop fade" id="myModalJoin" tabindex="-1"
            role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-contentJoin">
  <div class="modal-header">
    <button type="button" class="close" data-dismiss="modal" aria-
     label="Close"><span aria-hidden="true">
    <span class="glyphicon glyphicon-remove-sign"></span></button>
    <h2 class="modal-title join" id="myModalLabel"></h2>
    </div>
    <div class="modal-body">

【问题讨论】:

  • 您需要手动实例化您的模式和关闭/打开事件。看看the Bootstrap Docs
  • 我不太擅长 Jquery/JavaScript。你有机会把剧本发给我吗?

标签: wordpress twitter-bootstrap modal-dialog


【解决方案1】:

嗨,这里是工作代码

Java 脚本

<script type="text/javascript">
$(document).ready(function(){
  $("#btn1").click(function(){
    $("#myModal").modal('show');
  });

  $("#btn2").click(function(){
    $("#myModal2").modal('show');
  });


  $("#login").click(function(){
    $("#myModal").modal('hide');
    $("#myModal2").modal('show');
  });


  $("#singup").click(function(){
    $("#myModal2").modal('hide');
    $("#myModal").modal('show');
  });

});
</script>

HTML

<div class="bs-example">
    <!-- Button HTML (to Trigger Modal) -->
    <a href="#" id="btn1" class="btn btn-lg btn-primary">sign up</a> <a href="#" id="btn2" class="btn btn-lg btn-primary">login</a>

    <!-- Modal HTML -->
    <div id="myModal" class="modal fade">
        <div class="modal-dialog">
            <div class="modal-content">
                <div class="modal-header">
                    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
                    <h4 class="modal-title">Confirmation</h4>
                </div>
                <div class="modal-body">
                    <p>Sign up code here?</p>
                    <p class="text-warning"><small>If you don't save, your changes will be lost.</small></p>
                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
                    <button type="button" class="btn btn-primary">Save changes</button>
                    <button type="button" id="login" class="btn btn-primary">login</button>
                </div>
            </div>
        </div>
    </div>

<div id="myModal2" class="modal fade">
        <div class="modal-dialog">
            <div class="modal-content">
                <div class="modal-header">
                    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
                    <h4 class="modal-title">Confirmation</h4>
                </div>
                <div class="modal-body">
                    <p>Login code here?</p>
                    <p class="text-warning"><small>If you don't save, your changes will be lost.</small></p>
                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
                    <button type="button" class="btn btn-primary">Save changes</button>
                    <button type="button" id="singup" class="btn btn-primary">sign up</button>
                </div>
            </div>
        </div>
    </div>

</div>

【讨论】:

    【解决方案2】:

    Twitter Bootstrap 可以选择打开和隐藏模式窗口。您只需要正确调用方法例如

    $(document).ready(function(){

    $(".modal1.show").click(function(){
        $("#myModal2").modal('hide');
    });
    

    $(".modal2.show").click(function(){

    $("#myModal1").modal('hide'); });

    });

    【讨论】:

    • 我明白了,但是如何在单击链接时初始化显示/隐藏功能?我应该把
    • 谢谢。在您的示例中,modal1.show 指的是打开的模态,#myModal2 指的是我单击以隐藏打开的模态并打开新的模态的链接?
    • 亲爱的 Manish Shukla,谢谢你的帮助,我成功了。但是缺少一件事,请告知:当登录页面时,单击链接,登录页面被隐藏并显示注册页面 - 这正是我想要的样子。问题是,在执行此隐藏/显示后,当处于注册模式并单击链接时,它只是隐藏注册模式而不是隐藏它并显示登录模式。我想我需要一个循环,但不知道该怎么做。请指教
    • 如果你能给我代码sn-p,那么我可以帮助你了解更多细节
    • 谢谢,目前正在上班路上,所以我晚上会这样做并更新
    猜你喜欢
    • 1970-01-01
    • 2014-04-11
    • 2016-11-20
    • 2013-12-03
    • 1970-01-01
    • 2018-10-17
    • 2019-08-31
    • 1970-01-01
    • 2011-11-22
    相关资源
    最近更新 更多