gpt4 book ai didi

jquery - bxslider 内的 bxslider - jquery

转载 作者:行者123 更新时间:2023-12-01 04:16:02 32 4
gpt4 key购买 nike

我有一个使用 bxslider 的非常基本的 slider 。

我想在 bxslider 本身内运行另一个画廊。

请看这个 fiddle :http://jsfiddle.net/CHeLE/6/

当单击图库下一个/上一个时,您可以看到辅助图库始终返回相同的图像。为什么?它应该显示其他图像。


为什么会发生这种情况没有意义,请参阅下面的代码..

$(function () {

var slider = $('ul#slider').bxSlider({
infiniteLoop: true,
controls: false,
mode: 'horizontal',
touchEnabled: false,
pager: false
});

$('a.slide-next').click(function () {
slider.goToNextSlide();
return false;
});

$('a.slide-prev').click(function () {
slider.goToPrevSlide();
return false;
});

});

$(function () {

var gallery3 = $('#gallery3 ul.gallery').bxSlider({
infiniteLoop: true,
controls: false,
mode: 'fade',
touchEnabled: false,
pager: false
});

$('#gallery3 a.gallery-next').click(function () {
gallery3.goToNextSlide();
return false;
});

$('#gallery3 a.gallery-prev').click(function () {
gallery3.goToPrevSlide();
return false;
});

});


这是我的标记

<div class="wrapper">

<ul id="slider">

<li class="slide" style="background:black"></li>

<li id="gallery3" class="slide" style="background:blue">

<div class="gallery-wrapper">

<ul class="gallery">

<li>

<img src="http://www.columbus-international.com/images/heroes/tour_trackday_tuscany.jpg" alt=""/>
<img src="http://www.wikipedy.com/images_m/motorbike_kids_s.jpg" alt=""/>

<img src="http://static.ddmcdn.com/gif/storymaker-best-hubble-space-telescope-images-20092-514x268.jpg" alt=""/>


</li>

</ul>

</div>

<a class="gallery-next" href="#">Gallery Next</a>
<a class="gallery-prev" href="#">Gallery Prev</a>

</li>

<li class="slide" style="background:cyan"></li>
<li class="slide" style="background:magenta"></li>

</ul>

</div>

<a class="slide-next" href="#">Next</a>
<a class="slide-prev" href="#">Prev</a>

任何人都可以帮我理解为什么我的 fiddle工作不正常?

提前致谢。


http://jsfiddle.net/CHeLE/6/

最佳答案

演示的标记 (HTML) 有错误:

  • 嵌套画廊 <ul class="gallery">只有一项列表项 <li>作为唯一的直系 child 。根据文档

by default, bxSlider will use all immediate children of the slider element

  • 每个<img>应包含在列表项标签 <li><img src="image.png"/></li>
  • <li>应删除,以便 3 <img>将是 <ul class="gallery"> 的直接子级
  • 如果您使用slideSelector: 'img',原始标记将起作用。 bxSlider 选项。
  • 原始图像无法正常工作,已被可正常工作的图像所取代。

HTML

    <div class="wrapper">
<ul id="slider">
<li class="slide" style="background:black"></li>
<li id="gallery3" class="slide" style="background:blue">
<div class="gallery-wrapper">
<ul class="gallery">
<li>
<img src="http://placehold.it/720x500/000/fff.png&text=SLIDE+1"/>
</li>
<li>
<img src="http://placehold.it/720x500/00e/fc0.png&text=SLIDE+2"/>
</li>
<li>
<img src="http://placehold.it/720x500/fff/000.png&text=SLIDE+3"/>
</li>
</ul>
</div>
<a class="gallery-next" href="#">Gallery Next</a>
<a class="gallery-prev" href="#">Gallery Prev</a>

</li>
<li class="slide" style="background:cyan"></li>
<li class="slide" style="background:magenta"></li>
</ul>
</div>
<a class="gallery-next" href="#">Gallery Next</a>
<a class="gallery-prev" href="#">Gallery Prev</a>

演示的脚本(JS(jQuery))需要改进:

  • 嵌套画廊 JS 有太多限定符,例如 $("#gallery a.gallery-next")工作方式为$("a.gallery-next")

jQuery
$(function () {    
var slider = $('ul#slider').bxSlider({
infiniteLoop: true,
controls: false,
mode: 'horizontal',
touchEnabled: false,
pager: false
});

$('a.slide-next').click(function () {
slider.goToNextSlide();
return false;
});

$('a.slide-prev').click(function () {
slider.goToPrevSlide();
return false;
});

var gallery3 = $('ul.gallery').bxSlider({
infiniteLoop: true,
controls: false,
mode: 'fade',
touchEnabled: false,
pager: false
});

$('a.gallery-next').click(function () {
gallery3.goToNextSlide();
return false;
});

$('a.gallery-prev').click(function () {
gallery3.goToPrevSlide();
return false;
});

});

See updated demo

关于jquery - bxslider 内的 bxslider - jquery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14604463/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com