Javascript css设置为显示时slideDown()不工作:无

Javascript css设置为显示时slideDown()不工作:无,javascript,jquery,css,Javascript,Jquery,Css,我已经拍摄并正在尝试修改它,以便隐藏的文本通过slideDown()而不是show()显示 我的小提琴在这里: 你可以在我设置的js的第16行看到: $(this).next().slideDown("slow"); 这样做的目的是在文本“id vim mo”和“dus electram”之间创建一个换行符。相反,这些应在同一条线上流动,即无断线。与原始代码一样,使用show()可以很好地工作,但很难看。我一直在搜索解决方案,发现一个人建议我将代码更改为: $(this).next().sli

我已经拍摄并正在尝试修改它,以便隐藏的文本通过slideDown()而不是show()显示

我的小提琴在这里:

你可以在我设置的js的第16行看到:

$(this).next().slideDown("slow");
这样做的目的是在文本“id vim mo”和“dus electram”之间创建一个换行符。相反,这些应在同一条线上流动,即无断线。与原始代码一样,使用show()可以很好地工作,但很难看。我一直在搜索解决方案,发现一个人建议我将代码更改为:

$(this).next().slideDown("slow").css("display", "inline"); 
原因是slideDown在隐藏的上插入了display:inline块。但是,当我将代码更改为此时,slideDown将停止一起工作

谁能给我一个解决方案?我试过滑动切换,但仍然没有成功


谢谢。

好的,您可以在幻灯片结束后将
.next()
元素更改为
显示:inline

$(this).next().slideDown("slow",function(){ $(this).css("display","inline"); });
但这可能有点笨拙,因为它首先显示
inline block
,然后突然切换到
inline
。我真的看不到一个(简单的)方法来完成幻灯片动画,而不是从
block
inline block
开始。也许尝试不同的动画?像
.fadeIn('slow')

说明:
.slide()
(及其变体)可用于元素
高度
,而
高度
仅适用于
块类型的元素。调用
.slide()
后立即将元素更改为
内联
,将取消高度动画的效果。(观察您的控制台,您将看到元素的高度设置动画,但视觉上什么也不做。)

问题是内联没有高度,因此很难设置没有高度的元素的动画。因此,不要为正在显示的内容设置动画,而是为父对象设置动画

var-minimized_元素=$('p.minimize');
最小化元素。每个(函数(){
var t=$(this.text();
如果(t.长度<325)返回;
$(this.html)(
t、 切片(0325)+“…”+
''+t.切片(325,t.长度)+'';
});
$('a.more',最小化元素)。单击(函数(事件){
event.preventDefault();
var-anchor=$(这个);
var para=anchor.closest(“.minimize”);//父包装器
查找(“.elip,.more”).hide();
第段查找(“.less”).show();
var currentHeight=参数高度();
段落数据(“高度”,当前高度);
para.height(para.height()).css(“溢出”、“隐藏”);//设置父级高度并将溢出设置为隐藏
para.find(“.overflow”).css(“display”,“inline”);//显示隐藏的文本(实际上应该有一个类)
段落.动画({//使用动画而不是向下滑动,使用滚动高度来知道在哪里停止
高度:第[0]段。滚动高度
},500,“swing”,函数(){
段落高度(“自动”);//完成后重置高度
});
});
$('a.less',最小化元素)。单击(函数(事件){
event.preventDefault();
var-anchor=$(这个);
var para=anchor.closest(“.minimize”);//父包装器
段落find(“.less”).hide();
段落.动画({//使用动画而不是向下滑动,使用滚动高度来知道在哪里停止
高度:段落数据(“高度”),
},500,“swing”,函数(){
段落find(“.overflow”).hide();
段落find(“.elip,.more”).show();
段落高度(“自动”);//完成后重置高度
});
});


Lorem ipsum door sit amet,justo laoreet eu qui。在fabellas mei的prompta fastidii餐厅,一位女士坐在那里。以优等成绩改善了改革方案,并获得了最高荣誉。这将是一个新的挑战,它将改变我们的假设,但不可能。在欧洲的古伯格伦(vero gubergren)的海洋中,这是一个很好的例子。我不知道该怎么做。Lorem ipsum Door sit amet,justo laoreet eu qui。在fabellas mei的prompta fastidii餐厅,一位女士坐在那里。以优等成绩改善了改革方案,并获得了最高荣誉。这将是一个新的挑战,它将改变我们的假设,但不可能。在欧洲的古伯格伦(vero gubergren)的海洋中,这是一个很好的例子。Mei aeque omittam Instructor ei.

非常感谢您解释这种关联。我会看看不透明度,看看是否能找到这样的解决方案。你对使用你的代码制作动画的看法是对的,不幸的是,它令人紧张。是的,我没有看到任何人这样做的例子(至少在网络上)。很久以前,我记得YouTube会显示一部分带有白色渐变的关于文本覆盖(使其在底部看起来淡出),然后单击“更多”将扩展其余部分并去除覆盖。这是我能想到的最接近你正在努力做的事情。我能理解为什么你赢得了你所拥有的声誉!我已经将它集成到我的页面中,效果非常好,谢谢。我不确定在我接受你的答案后是否可以发表评论,但你知道当按下“减少”按钮时,我如何制作幻灯片的动画吗?我已经用slideUp()替换了hide(),但它非常不稳定。谢谢。更新的代码…现在如果页面大小在显示和隐藏之间发生变化,“更少的代码”将失败,因为内容将发生变化。处理这个问题的一种方法是计算跨度起点的位置,然后向上移动到那个点。你真是太好了!它的工作绝对出色。您应该为此解决方案获得奖励。非常感谢。