Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery在使用animate函数时向div添加背景_Javascript_Jquery_Css_Html_Jquery Cycle - Fatal编程技术网

Javascript jQuery在使用animate函数时向div添加背景

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;

我正在使用jquery循环插件和jquery。
当循环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;
}