Javascript jQuery在使用animate函数时向div添加背景
我正在使用jquery循环插件和jquery。Javascript jQuery在使用animate函数时向div添加背景,javascript,jquery,css,html,jquery-cycle,Javascript,Jquery,Css,Html,Jquery Cycle,我正在使用jquery循环插件和jquery。 当循环div的高度发生变化时,我会设置jquery循环div的动画。下面的div根据高度向上或向下移动 问题是下面的div向下滚动时会得到一个(白色)背景。我希望下面的div始终是透明的。(在我的示例中,我希望content div始终是透明的) 下面是设置循环div动画的代码 function onAfter(curr, next, opts, fwd) { var index = opts.currSlide;
当循环div的高度发生变化时,我会设置jquery循环div的动画。下面的div根据高度向上或向下移动 问题是下面的div向下滚动时会得到一个(白色)背景。我希望下面的div始终是透明的。(在我的示例中,我希望content div始终是透明的) 下面是设置循环div动画的代码
function onAfter(curr, next, opts, fwd) {
var index = opts.currSlide;
$('#prev,#prev2,#prev3,#prev4,#prev5')[index == 0 ? 'hide' : 'show']();
$('#next,#next2,#next3,#next4,#next5')[index == opts.slideCount - 1 ? 'hide' : 'show']();
//get the height of the current slide
var $ht = $(this).height();
//set the container's height to that of the current slide
$(this).parent().animate({height: $ht});
}
$('.subheader').cycle({after: onAfter});
这很难解释,所以我制作了一个jsfiddle来显示它:发生的事情是
溢出:隐藏的正在被添加到子标题div
中,因为它正在被动画化。这样做可以剪切文本
如果您自己设置动画,并且只设置高度,那么应该可以防止问题的发生
或者,我可以使用绕过它!重要
样式规则:
这是因为!重要的
样式规则比内联样式具有更大的权重(除非内联样式也具有!重要的
,在这种情况下将获胜)。发生的情况是溢出:隐藏的
正在被添加到子标题
div
中,因为它正在被设置动画。这样做可以剪切文本
如果您自己设置动画,并且只设置高度,那么应该可以防止问题的发生
或者,我可以使用绕过它!重要
样式规则:
这是因为!重要信息
样式规则比内联样式具有更大的权重(除非内联样式也具有!重要信息
,在这种情况下,这将获胜)。我只是在主体中添加了红色背景色(在JSFIDLE中),无法再现您的结果。(带有文本的DIV在动画期间保持透明——我可以看到身体的红色)。32位Linux上的Firefox 23.0.1。特定的浏览器问题,或者JSFIDLE没有包含足够的代码/css/html来重现该问题。@David SkyMesh:您确定看到的是正确的吗?你要注意的是,当另一个文本向下滑动时,垂直文本“testing 1 2 3”被任何背景(白色或红色)遮挡。我在64位Linux上的Firefox 20和Chrome 26上都看到了它。我已经放慢了速度,以便更容易看到:@T.J.Crowder我不知道你是如何从这个问题中得出这个结论的。在任何情况下,我都会通过滑动div看到垂直文本——在整个animation.ahh中。把它擦掉。我看到了您所看到的@TJI刚刚在主体中添加了红色背景色(在jsFiddle中),无法重现您的结果。(带有文本的DIV在动画期间保持透明——我可以看到身体的红色)。32位Linux上的Firefox 23.0.1。特定的浏览器问题,或者JSFIDLE没有包含足够的代码/css/html来重现该问题。@David SkyMesh:您确定看到的是正确的吗?你要注意的是,当另一个文本向下滑动时,垂直文本“testing 1 2 3”被任何背景(白色或红色)遮挡。我在64位Linux上的Firefox 20和Chrome 26上都看到了它。我已经放慢了速度,以便更容易看到:@T.J.Crowder我不知道你是如何从这个问题中得出这个结论的。在任何情况下,我都会通过滑动div看到垂直文本——在整个animation.ahh中。把它擦掉。我看到了你在@TJSide上看到的东西注意:我只是通过打开Chrome的开发工具,突出显示元素,并观察它在动画中的样式发生了什么变化来诊断这个问题。我看到overflow:hidden
在动画中出现,在动画制作完成后消失,因此我添加了overflow:hidden
,并看到即使在动画中也没有剪切底层文本,这告诉了我是什么导致了问题。非常感谢,还添加了如何诊断问题的内容。(我通常使用firebug,它也显示了您所描述的内容)旁注:我只需打开Chrome的开发工具,突出显示元素,并在动画制作过程中观察其样式的变化就可以诊断出这一点。我看到overflow:hidden
在动画中出现,在动画制作完成后消失,因此我添加了overflow:hidden
,并看到即使在动画中也没有剪切底层文本,这告诉了我是什么导致了问题。非常感谢,还添加了如何诊断问题的内容。(我通常使用firebug,它也显示了您所描述的内容)
.subheader {
overflow: visible !important;
}