jquery - 在同一位置淡入/淡出元素

标签 jquery css slideshow

我有一个设置为全屏的无序列表,每个 li 都有一个重复的背景图案。我希望每 li 在页面加载后每 20 秒淡入/淡出。我的 jsfiddle:http://jsfiddle.net/uWwfv/1/

我已经尝试过 css 方式(我的 li 元素的绝对定位),但它不适用于我的全屏脚本,因此需要纯 jQuery 来淡入/淡出每个 li。我该怎么做?

全屏代码为:

function fitElements() {

var height = $(window).height();

var width = $(window).width();

$('ul#fullscreen-slider li').css('height', height);

$('ul#fullscreen-slider li').css('width', width);

};


$(document).ready(function() {
fitElements();
});

HTML:

<section id="home">
    <ul id="fullscreen-slider">
        <li><h1 class="cherry-red"><span>Slide 1</span></h1></li>
        <li><h1 class="cherry-red"><span>slide 2</span></h1></li>
        <li><h1 class="cherry-red"><span>slide 3</span></h1></li>
        <li><h1 class="cherry-red"><span>slide 4</span></h1></li>
        <li><h1 class="cherry-red"><span>slide 5 - when complete fade to slide 1</span></h1></li>
    </ul>
</section>

注意:我想避免使用繁重的插件,尤其是当大多数插件不适合背景重复行为时。

最佳答案

JS函数

function slideshow() {
    $('#fullscreen-slider li:gt(0)').hide();
    setInterval(function(){$('#fullscreen-slider :first-child').fadeOut().next('li').fadeIn().end().appendTo('#fullscreen-slider');}, 3000);
}

对于 CSS,添加 position:relative; 到 UL,position:absolute;左:0; top:0; 到 LI,并为每个 LI 添加一个具有背景的类。

你唯一需要改变的是每个 li 需要它的类作为它的背景,而不是使用第 nth-child,因为这段代码现在通过获取刚刚褪色的那个并再次追加到末尾来扰乱 li 的组织(因此可见的总是 nth-child(0))。

这是 Simplest jQuery Slideshow 的轻微修改版本乔纳森·斯努克 (Jonathan Snook) 着。

这是我的 jsFiddle http://jsfiddle.net/jRDkm/1/

关于jquery - 在同一位置淡入/淡出元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15070688/

相关文章:

javascript - 如何允许使用空格的正则表达式

javascript - 圆形路径上的 jQuery Circles 动画

javascript - 为什么 slideToggle 会向下并超出屏幕?

css - 背面可见性在 IE10 中不起作用 - 在 webkit 中工作正常

jquery表格列滑动效果

javascript - 在任何视频上创建 div 叠加层(类似于 YouTube 中的 Google 广告)

javascript - 如何在 IE 中获取带符号整数值的 dom 属性

html - 背景图像渲染问题

html - 我有一个 HTML 格式的幻灯片放映代码,但是有时在使用 chrome 或 mozilla 刷新页面时,所有图像都会堆叠起来

javascript - 两行 jQuery 文本幻灯片