我在不同的jQuery选项卡中有很多jQuery SlidesJS。效果很好。我现在的问题是,当我点击tab2
并slide2
并且我带着tab1
返回slide1
时,我想重新启动slide1
在1!我的代码是:
<script>
function start(_start) {
if(_start != "") {
starter = _start;
} else {
starter = 1;
}
$('#slides1, #slides2, #slides3').slides({
start: starter,
preload: true,
slideSpeed: 1000,
play: 4000,
pause: 2000,
slideEasing: 'easeInOutQuint',
generateNextPrev: false,
pagination: false,
next: 'next',
prev: 'prev'
});
$("#tabs").tabs();
}
$(document).ready(function() {
start(1);
$("#ui-id-1").click(function(){
start(1);
});
});
</script>
#ui-id-1
是tab1
。点击它应该从1开始slide1
但是我得到的是一个空白的白色div。我点击标签时如何从1开始的任何想法?
答案 0 :(得分:1)
这就是slidejs将不可见值计算到height: 0
width: 0
解决方案很简单:你应该在document
就绪事件时初始化slidejs,但是当用户实际点击一个标签并显示标签内容后。
这就是我首先看到的方式:
$('.bc-slider .frames:visible')).slidesjs({
width: 1024,
height: 260,
play: {
auto: false,
effect: "slide"
},
navigation: {
effect: "slide",
active: false
},
pagination: {
active: false,
effect: "slide"
},
effect: {
fade: {
speed: 500
}
}
});
这是显示隐藏滑块的代码:
content.eq(index).find('.frames').slidesjs({
width: 1024,
height: 260,
play: {
auto: false,
effect: "slide"
},
navigation: {
effect: "slide",
active: false
},
pagination: {
active: false,
effect: "slide"
},
effect: {
fade: {
speed: 500
}
}
});
content
是一个事件本地变量,包含对正在显示的选项卡的引用。