jQuery实现图片轮播效果

图片轮播效果 :

  1. 在页面的指定位置实现的图片自动的左右轮流切换展示,效果为无缝连接;

  2. 点击图片左下的标签(或中间的小圆点)切换到对应的图片;

    圆点图片

    点击标签

  3. 点击图片的左右切换标签;

    左右图标

整体思路 :


自动轮播: 将一个用于放置图片素材的与显示框同高度的大div放入显示框,将图片素材放入大的div中,通过jquery的animate()方法改变大div相对于显示框绝对位置的left值及变化时间实现图片的滑动;使用setInterval()方法设置定时器,达到自动播放效果;无缝连续播放的重点在于,第一张图片与最后一张图片要相同,这样播放完最后一张图片后将大div框的left设定为初始值,再将与图片索引相同的变量设定为1(第二张),这样就能达到无缝连续滑动效果;


点击标签切换到对应图片: 对点击切换图片的li标签添加鼠标点击事件,若存在定时器的先清除,使用$(this).Index()获取当前点击图片的序号(索引),将大div的left值设置为当前图片位置的值,同时别忘了将当前li标签设置深颜色的明显效果,其他li标签设置初始效果;在事件中设置倒计时,当鼠标点击后一段时间不进行其他操作,则恢复自动播放的定时器;


点击向左向右标签切换到上/下一张图片: 该标签使用< a >标签达到效果更好(防止连续点击时产生选中页面变蓝的现象),先获取点击时图片的编号,此时不能使用$(this).Index(),因为此时this指代的对象为左右切换标签,而不是图片对象,还记得上面那个与图片索引相同的变量吗?我们需要一开始就设定它为全局变量(我将它起名为rcd),它的值相当于是和图片,li标签一起绑定的,在还没有点击向左向右标签时,图片是在轮播的,rcd变量中存着当前图片的序号,因此,尽管用不了this,我们可以用rcd+1/-1找到向右滑/向左划的图片编号,有了编号,就可以知道大div需要运动到的位置,和设置左下方的标签显示状态了.当rcd-1==-1时,将div的位置设置为最后一张图片显示的位置,然后将rcd设置为倒数第二张图片对应的编号;当rcd+1比最后一张还多一时,将div的位置设置为第一张图片显示的位置,将rcd设置为第二张图片对应的编号即可.


代码实现如下 :

<script src="jquery.min.js" type="text/javascript" charset="utf-8"></script>    //引入jquery (css代码未贴)
    <script type="text/javascript">
        $(function(){
    
                var rcd=0;             //代表图片和li标签编号的全局变量
//              滑动函数
                function slide(){
    </
  • 3
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的使用jquery实现图片轮播效果的例子: HTML代码: ```html <div class="slider"> <img src="image1.jpg" alt="Image 1"> <img src="image2.jpg" alt="Image 2"> <img src="image3.jpg" alt="Image 3"> </div> ``` CSS代码: ```css .slider { position: relative; width: 500px; height: 300px; overflow: hidden; } .slider img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; opacity: 0; transition: opacity 1s ease-in-out; } .slider img.active { opacity: 1; } ``` jQuery代码: ```javascript $(document).ready(function() { // 默认显示第一张图片 $('.slider img:first').addClass('active'); // 自动轮播 setInterval(function() { var $active = $('.slider img.active'); var $next = $active.next(); if (!$next.length) { $next = $('.slider img:first'); } $active.removeClass('active'); $next.addClass('active'); }, 2000); }); ``` 解释: 首先,我们将所有图片放在一个 div 容器中,并设置容器的宽度和高度。然后,我们使用 CSS 将所有图片设置为绝对定位,并设置它们的透明度为 0。在当前活动的图片上添加一个“active”类,以便我们可以在 jQuery 中轻松地找到它。 在 jQuery 中,我们为轮播设置了一个定时器,每隔 2 秒钟就会执行一次。在每次执行时,我们找到当前活动的图片并将其“active”类删除。然后,我们找到下一张图片并将其添加到“active”类中。如果我们到达了最后一张图片,我们将下一张图片设置为第一张图片。 最后,我们在文档准备就绪时设置第一张图片为活动图片,并开始自动轮播。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值