我试图让一个div的孩子淡出,然后动画div的高度本身,我试过jsFiddle,但它不工作,并在那里出现一些奇怪的线......任何人都可以帮助我吗?fadeout小孩然后动画div的高度
0
A
回答
1
我想你正在尝试做这个小提琴被捕获:http://jsfiddle.net/f3Lpv/1/
$(document).ready(function() {
$("#toggleid").click(function() {
var child = $("#child");
if(child.is(":visible")) {
child.fadeTo(500, 0.0, function() {
child.slideUp();
});
$("#toggleid").text("Show");
} else {
child.slideDown(function() {
child.fadeTo(500, 1.0);
});
$("#toggleid").text("Hide");
}
});
});
为了避免神器问题在铬,你可能想确保你的CSS设置底部填充1px。不知道这是必须始终还是仅仅在的jsfiddle:
body {
padding-bottom:1px;
}
也是这个小提琴(http://jsfiddle.net/f3Lpv/2/)查看有关淡入略有不同的动画技术。
+0
太棒了!谢谢:D – Denn 2012-08-07 21:54:37
0
一种方法是:
$(function() {
$("#toggleid").click(function(e) {
var mh = $("#mother").height(),
ch = $("#child").outerHeight();
$("#mother").height(mh);
if ($("#child").is(":visible")) {
$("#child").fadeOut(500, function(e) {
$("#mother").animate({ height: mh-ch });
$("#toggleid").text("Show");
});
}
else {
$("#mother").animate({ height: mh+ch }, function(e) {
$("#child").fadeIn(500);
$("#toggleid").text("Hide");
});
};
});
});
但是!,如果你希望它是更动态的,你可能会考虑更多的东西一样:
$(function() {
$(".toggleClass").live("click", function(e) {
var $this = $(this),
$mother = $this.parent(),
$child = $this.siblings("div"), // maybe replace with Css Class ".child"
mh = $mother.height(),
ch = $child.outerHeight();
$mother.height(mh);
if ($child.is(":visible")) {
$child.fadeOut(500, function(e) {
$mother.animate({ height: mh-ch });
$this.text("Show");
});
}
else {
$mother.animate({ height: mh+ch }, function(e) {
$child.fadeIn(500);
$this.text("Hide");
});
};
});
});
0
基于Steve Campbell's great answer,我更新了jsfiddle而不是jQuery插件。
用法:child.smoothFadeIn();
和child.smoothFadeOut();
(function ($) {
$.fn.smoothFadeOut = function() {
var selector = this;
selector.slideDown(function() {
selector.fadeTo(500, 1.0);
});
};
$.fn.smoothFadeIn = function() {
var selector = this;
selector.fadeTo(500, 0.0, function() {
selector.slideUp();
});
};
}(jQuery));
相关问题
- 1. html div高度不包括小孩div
- 2. 保持小孩div不变的高度
- 3. 脚本动画DIV的高度正在改变DIV的高度突然
- 4. 动画div的高度
- 5. 让父div高度动态选择小孩div吗?
- 6. 后续高度,自动调整父DIV的高度时,小孩div有一个较长的内容
- 7. 角度2/4动画的div高
- 8. 设置DIV高度在jQuery的动画
- 9. Div高度跟随较小的div高
- 10. 动态DIV框的高度与孩子DIV
- 11. 在jQuery.load上动画大小的高度()
- 12. 动画div的高度,并有下面的div向下移动
- 13. 动画DIV高度+ 20像素
- 14. 动画高度onclick内嵌div
- 15. 在div高度触发CSS动画
- 16. jQuery FadeOut div的作品 - 。然后.fadeIn div不
- 17. jQuery的的.html,然后.fadeout
- 18. 父div匹配最高的孩子div的高度?
- 19. CSS 100%高度,然后滚动DIV而不是页面
- 20. JQuery - 找到div的高度,然后创建循环覆盖div
- 21. Jquery动画/ fadeIn/fadeOut
- 22. 获取jQuery动画div的实际高度,并将此高度转换为另一个动画div
- 23. 后div动画仍然落后于其他div
- 24. fadeIn和fadeout在将动画添加到宽度后停止
- 25. Div高度自动不调整大小?
- 26. 使用CSS动画动画div高度时出现问题
- 27. 小孩的全屏宽度DIV
- 28. 帮助动画孩子的div JQuery的
- 29. 带有绝对孩子的多个div的自动高度?
- 30. JQuery fadeOut然后加载
只注意到你的错误涉及到Chrome浏览器,你应该标记你的问题,并提供相应的信息。 FF没有这个错误。 – 2012-08-06 18:25:28
从小提琴中移除CSS重置样式表似乎解决了Chrome的问题。 http://jsfiddle.net/ult_combo/kPq6J/10/ – 2012-08-06 18:27:10