Jquery简单隐藏Div,但设置较小的高度

Jquery简单隐藏Div,但设置较小的高度,jquery,css,Jquery,Css,为什么这段代码试图隐藏div,然后再次显示它?使用firefox $(document).ready(function(){ $("#tool1").click(function(){ if($('#status').height() > 100){ $('#status').css('height','50px').show(); } }); }); 谢谢你到目前为止的帮助,他们都成功了。然而,这正是我拥有的

为什么这段代码试图隐藏div,然后再次显示它?使用firefox

$(document).ready(function(){

    $("#tool1").click(function(){
       if($('#status').height() > 100){
           $('#status').css('height','50px').show();
       }    
    });

});
谢谢你到目前为止的帮助,他们都成功了。然而,这正是我拥有的代码

根据上述评论

根据以下评论
  • 按钮位于
    #状态

根据你的 将代码更改为:

$(document).ready(function() {
    $("#tool1").click(function(e) {
        e.preventDefault(); // preventDefault() for pare reload
        var $statusDiv = $('#status');
        if ($statusDiv.height() > 100) {
            $statusDiv.height(50);
        }
        else {
            $statusDiv.height(250);
        }
    });
});

您还可以从
工具1

当前
#tool1
是链接标签,如果您想使用按钮,只需从上面的代码中删除
e.preventDefault()

根据上述评论

根据以下评论
  • 按钮位于
    #状态

根据你的 将代码更改为:

$(document).ready(function() {
    $("#tool1").click(function(e) {
        e.preventDefault(); // preventDefault() for pare reload
        var $statusDiv = $('#status');
        if ($statusDiv.height() > 100) {
            $statusDiv.height(50);
        }
        else {
            $statusDiv.height(250);
        }
    });
});

您还可以从
工具1

当前
#tool1
是链接标记,如果您想使用按钮,只需从上述代码中删除
e.preventDefault()

您可以通过添加以下内容禁用
show()
jQuery动画:

jQuery.fx.off = true;
代码行

阅读有关此属性的信息。

您可以通过添加以下内容禁用
show()
jQuery动画:

jQuery.fx.off = true;
代码行


阅读有关此属性的信息。

根据您的反馈,如果您只想在250和50之间切换status div的高度,则可以使用以下选项:

$(document).ready(function() {
    $("#tool1").click(function() {
        var $statusDiv = $('#status');
        if ($statusDiv.height() > 100) {
            $statusDiv.height(50);
        }
        else
        {
            $statusDiv.height(250);
        }
    });
});
我基于Html,正如您在其他评论中概述的:

<div id="status">
    <button id="tool1">
        tool 1 div
    </button>
</div>

请参见基于您的反馈的

如果您只想在250和50之间切换status div的高度,您可以使用以下方法:

$(document).ready(function() {
    $("#tool1").click(function() {
        var $statusDiv = $('#status');
        if ($statusDiv.height() > 100) {
            $statusDiv.height(50);
        }
        else
        {
            $statusDiv.height(250);
        }
    });
});
我基于Html,正如您在其他评论中概述的:

<div id="status">
    <button id="tool1">
        tool 1 div
    </button>
</div>


请参见

为什么此代码试图隐藏div
。。。不确定它试图隐藏div的位置,它只是将其设置为50px的高度。我没有看到任何代码试图隐藏div。我只是希望它在单击#tool1时将高度降至50px,然后如果再次单击,则将其重新zize回到css中设置的原始250px高度。抱歉,在jquerya的第一天是一个一般性的附带说明:jQuery
height()
只返回元素的高度,不包括任何填充、边框或边距。如果需要在代码中包含这些内容,可以使用
innerHeight
outerHeight
的替代方法。欲了解更多信息,包括所有这些方法的演示,请参阅:这更像是我正在编写的代码。我在您的小提琴中看到的唯一一件事是tools1是一个链接而不是一个按钮,单击该链接会导致提交,这会在页面刷新时造成延迟。
为什么该代码试图隐藏div
。。。不确定它试图隐藏div的位置,它只是将其设置为50px的高度。我没有看到任何代码试图隐藏div。我只是希望它在单击#tool1时将高度降至50px,然后如果再次单击,则将其重新zize回到css中设置的原始250px高度。抱歉,在jquerya的第一天是一个一般性的附带说明:jQuery
height()
只返回元素的高度,不包括任何填充、边框或边距。如果需要在代码中包含这些内容,可以使用
innerHeight
outerHeight
的替代方法。要了解更多信息,包括所有这些方法的演示,请参阅:这更像是我的代码,我有一些奇怪的事情。我在你的小提琴中看到的唯一一件事是tools1是一个链接而不是一个按钮,单击链接会导致提交,这会导致页面刷新时的延迟。@Harry检查我的第二个演示,我想你想让按钮“工具1”在div状态内,这会造成任何问题吗?还是没有working@thecodeparadox:快速单击按钮似乎会使某些内容崩溃,因为它在快速单击几下后停止调整div的大小。不知道为什么。@Harry:如果你想使用链接而不是按钮,但你只想调整div的大小。只需将tools1保留为按钮或div,并使用样式使其看起来像链接,而不是试图补偿页面重新加载。最后,这一切都归结为一个简单的高度调整,与我的回答相同:)+1尽管@thecodeparadox适用于所有变体和工作:)@Harry检查我的第二个演示,我想你希望按钮#tool1在div#状态中,这会在这里引起任何问题吗?还是没有working@thecodeparadox:快速单击按钮似乎会使某些内容崩溃,因为它在快速单击几下后停止调整div的大小。不知道为什么。@Harry:如果你想使用链接而不是按钮,但你只想调整div的大小。只需将tools1保留为按钮或div,并使用样式使其看起来像链接,而不是试图补偿页面重新加载。最后,这一切都归结为一个简单的高度调整,与我的答案相同:)+1尽管@thecodeparadox适用于所有变体和工作:)