gpt4 book ai didi

javascript - Javascript 图像轮播上的手动控件(上一个和下一个)

转载 作者:太空宇宙 更新时间:2023-11-04 13:16:03 25 4
gpt4 key购买 nike

我有以下使用 Javascript 创建幻灯片的代码。

HTML

<div id="buttons">
<a href="#" id="prev">prev</a>
<a href="#" id="next">next</a>
<div class="clear"></div>
</div>
<ul class="slider">
<li>
<img src="http://lorempixel.com/580/250/nature/1"> <!-- random image -->
</li>
<li>
<img src="http://lorempixel.com/580/250/nature/2"> <!-- random image -->
</li>
<li>
<img src="http://lorempixel.com/580/250/nature/3"> <!-- random image -->
</li>
<li>
<img src="http://lorempixel.com/580/250/nature/4"> <!-- random image -->
</li>
</ul>

Javascript

<script>

$(document).ready(function() {
var $slider = $('.slider'); // class or id of carousel slider
var $slide = 'li'; // could also use 'img' if you're not using a ul
var $transition_time = 1000; // 1 second
var $time_between_slides = 4000; // 4 seconds

function slides(){
return $slider.find($slide);
}


slides().fadeOut();

// set active classes
slides().first().addClass('active');
slides().first().fadeIn($transition_time);

// auto scroll
$interval = setInterval(
function(){
var $i = $slider.find($slide + '.active').index();

slides().eq($i).removeClass('active');
slides().eq($i).fadeOut($transition_time);

if (slides().length == $i + 1) $i = -1; // loop to start

slides().eq($i + 1).fadeIn($transition_time);
slides().eq($i + 1).addClass('active');
}
, $transition_time + $time_between_slides
);
});
</script>

此代码会自动滑过图像。

我正在尝试为其添加上一个和下一个按钮功能,以便用户可以手动翻阅图像。我想成为一个无限的旋转木马。

我现在如何使用淡入淡出来做到这一点?

$('#next').click(function() {

}

编辑

我试过这个:

<script>

$(document).ready(function() {
var $slider = $('.slider'); // class or id of carousel slider
var $slide = 'li'; // could also use 'img' if you're not using a ul
var $transition_time = 1000; // 1 second
var $time_between_slides = 4000; // 4 seconds

function slides(){
return $slider.find($slide);
}

$('.slider img:gt(0)').hide();

$('#next').click(function() {
$('.slider img:first-child').fadeOut().next().fadeIn().end().appendTo('.slider');
});

$('#prev').click(function() {
$('.slider img:first-child').fadeOut();
$('.slider img:last-child').prependTo('.slider').fadeOut();
$('.slider img:first-child').fadeIn();
});

slides().fadeOut();

// set active classes
slides().first().addClass('active');
slides().first().fadeIn($transition_time);

// auto scroll
$interval = setInterval(
function(){
var $i = $slider.find($slide + '.active').index();

slides().eq($i).removeClass('active');
slides().eq($i).fadeOut($transition_time);

if (slides().length == $i + 1) $i = -1; // loop to start

slides().eq($i + 1).fadeIn($transition_time);
slides().eq($i + 1).addClass('active');
}
, $transition_time + $time_between_slides
);
});
</script>

现在手动按钮可以工作了,但是幻灯片自动滚动间隔不再工作了,幻灯片只有在单击按钮时才会改变。我如何同时保持我的自动幻灯片放映功能,因为它以前可以正常工作?

最佳答案

试试看

$('.img-wrap img:gt(0)').hide();

$('.next').click(function() {
$('.img-wrap img:first-child').fadeOut().next().fadeIn().end().appendTo('.img-wrap');
});

$('.prev').click(function() {
$('.img-wrap img:first-child').fadeOut();
$('.img-wrap img:last-child').prependTo('.img-wrap').fadeOut();
$('.img-wrap img:first-child').fadeIn();
});

Demo

关于javascript - Javascript 图像轮播上的手动控件(上一个和下一个),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24400187/

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