我正在尝试让滑块图像彼此渐变,而不是渐变到背景,然后加载下一个图像。
滑块可以在http://bit.ly/Vbfq2W
这就是我的
$("#featured > ul").tabs({fx:{opacity: "toggle"}}).tabs("rotate", 5000, true);
<div id="featured" >
<ul class="ui-tabs-nav">
<li class="ui-tabs-nav-item" id="nav-fragment-1">
<a href="#fragment-1"><span>Cloud<br />Services</span></a>
</li>
<li class="ui-tabs-nav-item" id="nav-fragment-2">
<a href="#fragment-2"><span>IT & Network<br />Support</span></a>
</li>
<li class="ui-tabs-nav-item" id="nav-fragment-3">
<a href="#fragment-3"><span>Security</span></a>
</li>
<li class="ui-tabs-nav-item" id="nav-fragment-4">
<a href="#fragment-4"><span>Service 4</span></a>
</li>
</ul>
<!-- First Content -->
<div id="fragment-1" class="ui-tabs-panel"><img src="<?php bloginfo('template_directory'); ?>/images/slider1.jpg" alt="Brash Concepts | Image Not Found" width="700" height="320" /> </div>
<!-- Second Content -->
<div id="fragment-2" class="ui-tabs-panel"><img src="<?php bloginfo('template_directory'); ?>/images/slider2.jpg" alt="Brash Concepts | Image Not Found" width="700" height="320"/> </div>
<!-- Third Content -->
<div id="fragment-3" class="ui-tabs-panel"><img src="<?php bloginfo('template_directory'); ?>/images/slider3.jpg" alt="Brash Concepts | Image Not Found" width="700" height="320"/> </div>
<!-- Fourth Content -->
<div id="fragment-4" class="ui-tabs-panel"><img src="<?php bloginfo('template_directory'); ?>/images/slider4.jpg" alt="Brash Concepts | Image Not Found" width="700" height="320"/> </div>
</div>
您可以轻松使用FlexSlider之类的工具来创建滑块。每张幻灯片都将一张放在另一张上,这样当您更改幻灯片时,它们之间就会出现"交叉渐变"。
以下是您可以尝试的代码示例:
<!-- Place somewhere in the <body> of your page -->
<div class="flex-controls"></div>
<div class="flexslider">
<ul class="slides">
<li>
<img src="<?php bloginfo('template_directory'); ?>/images/slider1.jpg" alt="Brash Concepts | Image Not Found" width="700" height="320" />
</li>
<li>
<img src="<?php bloginfo('template_directory'); ?>/images/slider2.jpg" alt="Brash Concepts | Image Not Found" width="700" height="320" />
</li>
<li>
<img src="<?php bloginfo('template_directory'); ?>/images/slider3.jpg" alt="Brash Concepts | Image Not Found" width="700" height="320" />
</li>
<li>
<img src="<?php bloginfo('template_directory'); ?>/images/slider4.jpg" alt="Brash Concepts | Image Not Found" width="700" height="320" />
</li>
</ul>
</div>
<!-- Place in the <head>, after the three links -->
<script type="text/javascript" charset="utf-8">
$(window).load(function() {
$('.flexslider').flexslider(
pauseOnAction: false,
pauseOnHover: true,
slideshowSpeed: 5000,
controlsContainer: '.flex-controls' //you could also use custom controls
);
});
</script>
a)使用绝对定位和z索引将不同的幻灯片放在一起,或者
b) 将图像放在一个包装器中,每次要显示下一个图像时,包装器都会获取当前图像的src作为背景图像。隐藏图像将没有视觉差异,加载新图像,一旦它准备好,就在中淡入
这基本上就是所有滑块的工作方式,例如jquery-cycle、flexroader、nivoslider等。
为此制作了一个插件。一个非常直接的基本滑块。"最后一个"列表项用fadeOut设置动画,动画后,该项用prependTo()重新定位到"第一个"位置
代码的核心:
cycle : function(slide) {
var parent = $(slide).parent();
$(slide).prependTo(parent)
$(slide).css({
display : 'block'
});
},
fadeToNext : function(obj, options) {
$(obj).children().last().delay(options.delay).fadeOut(options.transitionTime, function() {
methods.cycle(this);
methods.fadeToNext(obj, options);
});
}
我把它放在小提琴上,这样你就可以摆弄它,看看它能做什么。http://jsfiddle.net/djwave28/mwPSB/18/
我还添加了一些可以更改的设置注释,使其在动画过程中可以看到列表中实际发生的情况。