19

我希望完成一个相当简单的任务(我希望!)

我有两个 div 标签和一个锚标签,如下所示:

<a href="javascript:void(0);">forgot password?</a>
<div id="login-form"></div>
<div id="recover-password" style="display:none;"></div>

我希望使用锚标签在两个 div 标签之间切换,隐藏一个并显示另一个,反之亦然。

如何以最好的方式做到这一点?

4

9 回答 9

43

由于一个 div 最初是隐藏的,您可以简单地为两个 div调用toggle :

<a href="javascript:void(0);" id="forgot-password">forgot password?</a>
<div id="login-form">login form</div>

<div id="recover-password" style="display:none;">recover password</div>

<script type="text/javascript">
$(function(){
  $('#forgot-password').click(function(){
     $('#login-form').toggle();
     $('#recover-password').toggle(); 
  });
});
</script>
于 2009-04-15T17:44:22.857 回答
4

我想你想要这个:

$('#recover-password').show();

或者

$('#recover-password').toggle();

jQuery 使这成为可能。

于 2009-04-15T17:45:37.453 回答
1

用这个:

<script type="text/javascript" language="javascript">
    $("#toggle").click(function() { $("#login-form, #recover-password").toggle(); });
</script>

您的 HTML 应如下所示:

<a id="toggle" href="javascript:void(0);">forgot password?</a>
<div id="login-form"></div>
<div id="recover-password" style="display:none;"></div>

嘿,好吧!一条线!我 <3 jQuery。

于 2009-04-15T17:53:19.200 回答
1

这就是我div同时切换两个 s 的方式:

$('#login-form, #recover-password').toggle();

有用!

于 2014-04-30T09:45:15.287 回答
0

您可以编写一个简单的 jQuery 插件来执行此操作。该插件看起来像:

(function($) {
    $.fn.expandcollapse = function() {
        return this.each(function() {
            obj = $(this);
            switch (obj.css("display")) {
                case "block":
                    displayValue = "none";
                    break;

                case "none":
                default:
                    displayValue = "block";
            }

            obj.css("display", displayValue);
        });
    };
} (jQuery));

然后将插件连接到锚标记的点击事件:

$(document).ready(function() {
    $("#mylink").click(function() {
        $("div").expandcollapse();
    });
});

如果您将每个 div 的初始“显示”属性分别设置为“阻止”和“无”,则它们应该在单击链接时切换为显示/隐藏。

于 2009-04-15T17:42:25.933 回答
0

我认为这有效:

$(document).ready(function(){

    // Hide (collapse) the toggle containers on load
    $(".toggle_container").hide();

    // Switch the "Open" and "Close" state per click then 
    // slide up/down (depending on open/close state)
    $("h2.trigger").click(function(){
        $(this).toggleClass("active").next().slideToggle("slow");
        return false; // Prevent the browser jump to the link anchor
    });
});
于 2011-04-14T17:49:54.407 回答
0

试试这个:http ://www.webtrickss.com/javascript/jquery-slidetoggle-signup-form-and-login-form/

َََََََََََََََََََََََََََََََََََََََََََََََََََََََََََََََََََََََََََََََََََََََ

于 2011-09-23T10:02:09.277 回答
0

我使用这种方式对多个块执行此操作,而无需使用新的 JavaScript 代码:

<a href="#" data-toggle="thatblock">Show/Hide Content</a>

<div id="thatblock" style="display: none">
  Here is some description that will appear when we click on the button
</div>

然后是所有此类情况的 JavaScript 部分:

$(function() {
  $('*[data-toggle]').click(function() {
    $('#'+$(this).attr('data-toggle')).toggle();
    return false;
  });
});
于 2014-03-17T18:07:04.957 回答
0
function toggling_fields_contact_bank(class_name) {
    jQuery("." + class_name).animate({
        height: 'toggle'
    });
}
于 2017-10-18T07:14:44.873 回答