【问题标题】:Show a div when Flexslider slide has class "flex-active-slide"当 Flexslider 幻灯片具有类“flex-active-slide”时显示 div
【发布时间】:2013-01-31 20:22:18
【问题描述】:

我正在使用 Flexslider,一切正常。我有一个 div 将在某些幻灯片中包含其他信息,但不一定是所有幻灯片。一旦显示幻灯片,我想要完成的是这个 div 的 jQuery 动画。

因此,当幻灯片处于活动状态时(它具有 .flex-active-slide 类),div 会显示或向下滑动等。

HTML:

<div class="flexslider">
    <ul class="slides">

        <li id="test" >

            <div class="slide-content">
                <h1>Regular Content Here</h1>
            </div>
            <div class="slide-excerpt group" style="display:none;">
                <p>Hidden Content...should show when active</p>
            </div>                          

        </li>

    </ul>
</div><!--end flexslider--> 

JQUERY(这是我试过的,但没有影响):

jQuery(document).ready(function($) {    
    if ($('li#test').hasClass('flex-active-slide')){
        $("div.slide-excerpt").show();
    };
});

【问题讨论】:

标签: jquery slideshow show flexslider


【解决方案1】:

我个人更倾向于通过 CSS 来处理这个问题。

.flexslider .slides .slide-excerpt {
    display:none;
}

.flexslider .slides .flex-active-slide .slide-excerpt {
    display:block;
}

并从您的 HTML 中删除内联样式 (style="display:none")。

现在,显然,这只会显示它。它不添加花哨的动画。但是,如果您已经为幻灯片设置了动画,我会犹豫再添加另一个动画元素...太多会导致界面非常繁忙,并且会让用户感到沮丧,不得不等待太久获取他们可能感兴趣的信息。如果您必须对其进行动画处理,也许您仍然可以使用 CSS,但使用 CSS3 动画,而不是 javascript。

希望这会有所帮助!

【讨论】:

  • 我想要/需要动画的原因是因为“摘录”区域位于幻灯片下方,增加了另外 200 像素的高度。因此,使用摘录的幻灯片和不使用摘录的幻灯片之间的过渡在没有动画的情况下是“突然的”……幻灯片下方的内容会上下“跳跃”而不是平滑地进行。有意义吗?
  • 另外,内联“display:none;”为简单起见,仅在上面的示例中是内联的。在我的开发站点中,它位于我的外部样式表中。
  • 嗯。抱歉,我无法想象它,没有足够的代码来更好地了解为什么这对您不起作用。您始终可以在具有它们的幻灯片中相对定位摘录区域,以便它们始终位于相对于幻灯片所在的位置相同的位置,这应该防止幻灯片高度发生变化,如果这是正在发生的事情,但那是在这一点上真的只是一个盲目的猜测,对不起。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多