我遇到了jQuery的问题,我真的不知道从哪里开始。
基本上我使用bxslider plugin制作旋转木马。
以下是简化的HTML:
<ul id="promos">
<li>
<h2>Event Title 1</h2>
</li>
<li>
<h2>Event Title 2</h2>
</li>
</ul>
和jquery:
$('ul#promos').after('<div id="pager1"></div>');
$('ul#promos').bxSlider({
displaySlideQty: 1,
moveSlideQty: 1,
infiniteLoop: false,
controls: false,
pager: true,
pagerSelector: '#pager1',
auto: true,
pause: 5000,
speed: 1000
});
这会将输出呈现为:
<ul id="promos">
<li>
<h2>Event Title 1</h2>
</li>
<li>
<h2>Event Title 2</h2>
</li>
</ul>
<div id="pager1">
<a href="" class="pager-link pager-1 pager-active">1</a>
<a href="" class="pager-link pager-2">2</a>
</div>
但是,我希望寻呼机使用相对的h2标题,而不是升序数字。理想情况下,它看起来像:
<div id="pager1">
<a href="" class="pager-link pager-1 pager-active">Event Title 1</a>
<a href="" class="pager-link pager-2">Event Title 2</a>
</div>
注意:此轮播中最多可以有六个事件。
这是一个例子: http://jsfiddle.net/adrianjacob/gHpBT/3/
任何指示从哪里开始都会非常感激。
答案 0 :(得分:1)
我在http://bxslider.com/examples/thumbnail-pager-2
上使用了一个示例来解决这个问题该示例使用“buildPager:”用图像替换标准的1,2,3,4寻呼机,例如:
$(function(){
$('#slider1').bxSlider({
pager: true,
buildPager: function(slideIndex){
switch (slideIndex){
case 0:
return '<a href=""><img src="/sites/all/themes/bx/images/pic_velvet1_thumb.jpg" /></a>';
case 1:
return '<a href=""><img src="/sites/all/themes/bx/images/pic_velvet2_thumb.jpg" /></a>';
case 2:
return '<a href=""><img src="/sites/all/themes/bx/images/pic_velvet3_thumb.jpg" /></a>';
case 3:
return '<a href=""><img src="/sites/all/themes/bx/images/pic_velvet4_thumb.jpg" /></a>';
}
}
});
});
答案 1 :(得分:1)
我刚刚使用bxSlider回调和公共方法构建了自己的寻呼机。
我正在使用haml和coffeescript,但你应该明白这一点。
我在自定义分页器链接上使用data-id属性将该链接绑定到特定幻灯片
HAML
%ul.landing-links
%li <a href="#" data-id="0" class="active">Slide One</a>
%li <a href="#" data-id="1">Slide Two</a>
的CoffeeScript
landing_slides = $("#landing-slides").bxSlider
controls: false,
auto: true,
pause: 10000,
autoHover: true,
onAfterSlide: (num, qty, obj) ->
# Switch the active class to the corresponding pager link
$("ul.landing-links li a.active").removeClass("active")
$("ul.landing-links li a[data-id=#{num}]").addClass("active")
$('ul.landing-links li a').click (e) ->
e.preventDefault()
landing_slides.goToSlide($(this).data('id')) # Get the data-id attribute value
landing_slides.startShow() # This is needed to restart the auto scroll
答案 2 :(得分:0)
请查看以下html代码的分页
jQuery(document).ready(function(){
jQuery('#bxslider1').bxSlider({
pagerCustom: '#bxsliderlist1'
});
});
<ul id="bxslider1">
<li>
your contant
</li>
<li>
your contant
</li>
<li>
your contant
</li>
<li>
your contant
</li>
</ul>
<ul id="bxsliderlist1">
<li>
<a data-slide-index="0">your contant</a>
</li>
<li>
<a data-slide-index="1">your contant</a>
</li>
<li>
<a data-slide-index="2">your contant</a>
</li>
<li>
<a data-slide-index="3">your contant</a>
</li>
</ul>