我得到了以下代码:Link,正如您在输入中写入的内容所看到的那样,文本区域会显示出来,问题是在效果完成之前,提交输入和文本区域之间会产生一个小间隙,有趣的是那:
当我替换这一行时:
qCont.show("blind", {to: { display: "block"}}, 1500);
有了这条线:
qCont.css("display", "block");
问题解决了,但我确实想要这个效果,有没有办法修复它并使用“显示”效果,谢谢大家,祝你有美好的一天。
好的。textarea 的底部边距为 5px。
这是一个 hack,但我通过添加以下 css 解决了这个问题:
#qContent
{
margin-bottom: -5px !important;
}
这是小提琴:http: //jsfiddle.net/CWP8E/3/
作为替代方案,您可以添加一个在显示效果动画之后执行的匿名函数。这也修复了外观(我更喜欢它):
qTitle.one("keydown" ,function(){
qCont.show("blind", {to: { display: "block"}}, 1500, function() {
$(this).css("display","block");
});
});
这是小提琴:http: //jsfiddle.net/CWP8E/4/
我仍在研究为什么要插入 5px 边距(jQquery 中的东西?),但上面的黑客修复了视觉效果。我确实理解这是一种黑客行为,但有时这会让我们继续前进。
单步执行代码时,我注意到 jQuery 动画以具有display: inline-block
值的 qTitle 结尾,而不是display: block
预期的那样。在 Google 上快速搜索会发现第二种解决方案(使用匿名完成功能)值得推荐。
这是描述它的 StackOverflow 文章:
尝试
qCont.show("blind", {direction:"vertical"}, 1500);