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



我正在使用jquery cycle插件和jquery。
当循环div 的高度发生变化时,我会对 jquery 循环div 进行动画处理。下面的div 根据高度向上或向下。

问题是下面的div 在向下滚动时会获得(白色)背景。我希望下面的div 始终保持透明。(在我的示例中,我希望内容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来展示它:jsFiddle

正在发生的事情是,overflow: hidden在动画化时被添加到subheader div中。这样做会使它剪切文本。

如果您自己对其进行动画处理并且设置height,则应防止问题发生。

或者,我能够使用!important样式规则绕过它:小提琴

.subheader {
    overflow: visible !important;
}

这是有效的!important因为样式规则比内联样式具有更大的权重(除非内联样式也有!important,在这种情况下,这将获胜)。

相关内容

  • 没有找到相关文章

最新更新