首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JQuery在同一个循环中显示()和隐藏()

JQuery在同一个循环中显示()和隐藏()
EN

Stack Overflow用户
提问于 2017-04-22 09:24:05
回答 3查看 193关注 0票数 2

我有下面的代码,我需要显示或隐藏面板。我的问题是,该节目()只适用于另类点击。

代码语言:javascript
复制
var allPanels = $(".panel");
allPanels.hide(2000);
allPanels.show();

我想知道show()不能一致工作的原因。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-04-22 09:30:52

这不起作用,因为您在.hide(2000)中设置了时间。你必须以下列方式书写:

代码语言:javascript
复制
<div class="panel" >This is a DIV</div>
<button type="button" class="buttonClick" >Click me</button>

JQUERY

代码语言:javascript
复制
$(document).ready(function (e) {
    $(document).on('click', '.buttonClick', function () {
        var allPanels = $(".panel");
        allPanels.hide(2000, function(){
            allPanels.show();
        });
    });
});
票数 1
EN

Stack Overflow用户

发布于 2017-04-22 10:52:47

一种更容易的方法是在启动另一个动画之前对当前的动画进行.stop()

代码语言:javascript
复制
var allPanels = $(".panel");
allPanels.hide(2000);
allPanels.stop().show();

这样,您就不必将代码放在回调中。但是请注意,这样做将显式地暂停动画,忽略其当前状态。

票数 0
EN

Stack Overflow用户

发布于 2017-04-23 01:23:45

当我从

代码语言:javascript
复制
var allPanels = $(".panel");
allPanels.hide(2000);
allPanels.stop().show();

变到

代码语言:javascript
复制
var allPanels = $(".panel");
allPanels.hide();
allPanels.stop().show();`enter code here`

开始起作用了。隐藏和显示工作无缝。谢谢。但是,谁能说出为什么隐藏和显示的时间不起作用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43557492

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档