首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将slideToggle()行为更改为display:inline-block而不是display:block?

将slideToggle()行为更改为display:inline-block而不是display:block?
EN

Stack Overflow用户
提问于 2011-11-16 08:07:06
回答 5查看 54.9K关注 0票数 42

我的目标slideToggle()目录在打开时需要是display:inline-block而不是display:block。有什么方法可以改变jquery的行为吗?

编辑:

我现在使用的是jQuery 1.7.0。此外,<div>最初在display:none,单击链接后应该展开到display:inline-block;但显然在这种情况下slideToggle()的默认状态是display:block ...

EN

回答 5

Stack Overflow用户

发布于 2011-11-16 08:13:08

只需尝试通过脚本隐藏你的区块(不要通过样式display:none )

HTML

代码语言:javascript
运行
复制
<div class="ib">inline-block</div> <a href="#" class="toggle">toggle this</a>

CSS

代码语言:javascript
运行
复制
.ib{
    display:inline-block;
    background:red;
}

JavaScript

代码语言:javascript
运行
复制
$(".ib").hide();
$(".toggle").bind("click", function(){
    $(".ib").slideToggle();
    return false;
})

example

票数 13
EN

Stack Overflow用户

发布于 2018-12-20 09:37:46

我需要display:flex来使用order属性对元素进行重新排序。更改为显示:flex工作了,但它必须等待动画完成才能重新排列元素,所以有一段时间一切看起来都很混乱。

为我做的是使用start选项(see doc):

代码语言:javascript
运行
复制
$("your-selector").slideToggle({
  duration: 200,
  easing: "easeOutQuad",
  start: function() {
    jQuery(this).css('display','flex');
  }
});
票数 11
EN

Stack Overflow用户

发布于 2011-11-16 09:22:38

如果你发现自己看到了不想要的“无样式内容的Flash”,你也可以使用内联样式。“不要将样式内联”的常识实际上是为你的主要样式设计的,而不是视觉效果(毕竟JS特效都只是添加内联样式)。

当然,内容不会被禁用JS的搜索引擎爬行器看到,如果这很重要的话。如果这不重要,那你就很棒!

@fliptheweb的小提琴更新:http://jsfiddle.net/GregP/pqrdS/3/

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

https://stackoverflow.com/questions/8144944

复制
相关文章

相似问题

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