我使用两个单独的滑块,一个用于显示图像,另一个用于显示相应的文本。带有文本的滑块需要始终显示所有文本,只有与第一个滑块具有相同数据属性的文本,通过添加"活动"来改变颜色。类。由于无论从第一个滑块显示什么图像,都必须显示所有文本,因此我无法组合两个滑块。
我的问题是如何匹配来自两个单独滑块的两个数据属性,以将活动类添加到第二个滑块中的一个元素。
到目前为止,这是我的代码:
jQuery(document).ready(function() {
jQuery('.flexslider').flexslider({
animation: "fade"
});
// if the class .flex-active-slide is being used on an li
// if data-roles are the same #
if ('ul.slides li.flex-active-slide' && 'ul.slides li[data-role] == ul.slider-text li[data-role]') {
// add active class to selected li in second slider
jQuery("ul.slider-text li").addClass('active');
}
});
#########SLIDER 1 #################
<div class="flexslider">
<ul class="slides">
<li data-role="1"><img src="/media/island/content/cool-places/1_PARROT_CAY.jpg"/></li>
<li data-role="2"><img src="/media/island/content/cool-places/2_CUISINART.jpg"/></li>
<li data-role="3"><img src="/media/island/content/cool-places/3_LITTLE_PALM.jpg"/></li>
<li data-role="4"><img src="/media/island/content/cool-places/4_RITZ_CAYMAN.jpg"/></li>
<li data-role="5"><img src="/media/island/content/cool-places/5_REGENT.jpg"/></li>
<li data-role="6"><img src="/media/island/content/cool-places/6_KIAWAH.jpg"/></li>
<li data-role="7"><img src="/media/island/content/cool-places/7_FOUR_SEASONS.jpg"/></li>
<li data-role="8"><img src="/media/island/content/cool-places/8_SEA_ISLAND.jpg"/></li>
<li data-role="9"><img src="/media/island/content/cool-places/9_CHEECA.jpg"/></li>
<li data-role="10"><img src="/media/island/content/cool-places/10_RITZ_NAPLES.jpg"/></li>
<li data-role="11"><img src="/media/island/content/cool-places/11_PINK_SANDS.jpg"/></li>
</ul>
</div>
############### SLIDER 2 #####################
<ul class="slider-text">
<li data-role="1"><p class="uppercase">parrot cay • turks and caicos</p></li>
<li data-role="2"><p class="uppercase">sea island golf club • sea island</p></li>
<li data-role="3"><p class="uppercase">ritz carlton • naples</p></li>
<li data-role="4"><p class="uppercase">cheeca lodge • islamorada</p></li>
<li data-role="5"><p class="uppercase">ritz carlton • grand cayman</p></li>
<li data-role="6"><p class="uppercase">four seasons • palm beach</p></li>
<li data-role="7"><p class="uppercase">little palm island • little torch key</p></li>
<li data-role="8"><p class="uppercase">kiawah island golf resort • kiawah island</p></li>
<li data-role="9"><p class="uppercase">regent palms • turks & caicos</p></li>
<li data-role="10"><p class="uppercase">cuisinart • anguilla</p></li>
<li data-role="11"><p class="uppercase">pink sands resort • harbor island</p></li>
</ul>
答案 0 :(得分:0)
首先让我先问一下是否需要始终显示第二个列表,为什么需要一个滑块?
无论如何,听起来你想要做的就是添加自定义控件导航。这可以通过将属性manualControls
添加到init对象来实现,如下所示:
jQuery('.flexslider').flexslider({
animation: "fade",
manualControls: '.slider-text li'
});
这会将滑块链接到控件nav,它们应该共享类和状态。我相信控件导航设置的顺序应该与flexslider的相应滑动顺序相匹配(导航项的索引应该与幻灯片的索引匹配)。
设置完成后,您应该具有幻灯片和控件导航的活动状态,您可以相应地设置样式。希望这可以帮助!