jQuery 无缝轮播

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>

.bg{background: #FFF;}
*{margin: 0;padding: 0;}
ol,ul{list-style: none;}

#play{width: 800px;height:532px;position: relative;overflow: hidden;}
#play #ul{position: absolute;}
#play #ul li{float: left;}
#play #ul li img{width: 800px; height:532px;}
#play #ol{width:100px;position: absolute;top:500px;left:360px;}
#play #ol li{width: 15px;height: 15px;border-radius: 50%;float: left;margin: 3px;border:1px solid red;}
#play #prev{ display:none;border:none;position: absolute;top:250px;width:30px;font-size: 40px;left:15px;background:rgba(0,0,0,0.5)}
#play #next{ display:none;border:none;position: absolute;top:250px;width:30px;font-size: 40px;right:15px;background:rgba(0,0,0,0.5)}

</style>
<script src="jquery-1.8.3/jquery.min.js"></script>
</head>
<body>
<div id="play">
	<ul id="ul">
		<li><img src="images/1.jpg" ></li>
		<li><img src="images/2.jpg" ></li>
		<li><img src="images/3.jpg" ></li>
		<li><img src="images/4.jpg" ></li>
	</ul>
	<ol id="ol">
		<li class="bg"></li>
		<li></li>
		<li></li>
		<li></li>
	</ol>
	<button id="prev"><</button>
	<button id="next">></button>
</div>
<script>

	// 获取第一个图片 节点对象
	var firstImg = $(‘#ul li‘).first().clone();
	// 放在 ul 的最后
	$(‘#ul‘).append(firstImg).width($(‘#ul li‘).length*$(‘#ul img‘).width());

	var i = 0;

	var timer;

	autoPlay();

	// 下一张
	$(‘#next‘).click(function(){
		i++;
		moveImg(i);
	})

	// 上一张
	$(‘#prev‘).click(function(){
		i--;
		moveImg(i);
	})

	// auto play
	function autoPlay(){
		timer = setInterval(function(){
			i++;
			moveImg(i);
		}, 1000);

	}

	function moveImg(num){

		// 如果是最后一张图片我们怎么办
		if(i==$(‘#ul li‘).length){
			i = 1;
			$(‘#ul‘).css({left:0});
		}

		// 是第一张
		if(i==-1){
			i=$(‘#ul li‘).length-2;
			$(‘#ul‘).css({left:($(‘#ul li‘).length-1)*-800});
		}

		// 移动图片
		$(‘#ul‘).stop().animate({left:i*-800},400);	

		// 换小点的标记
		if(i==($(‘#ul li‘).length-1)){
			$(‘#ol li‘).eq(0).addClass(‘bg‘).siblings().removeClass(‘bg‘);
		}else{
			$(‘#ol li‘).eq(i).addClass(‘bg‘).siblings().removeClass(‘bg‘);
		}
	}

	$(‘#play‘).mouseover(function(){
		$(‘#prev‘).show();
		$(‘#next‘).show();
		clearInterval(timer);
	}).mouseout(function(){
		$(‘#prev‘).hide();
		$(‘#next‘).hide();
		autoPlay();
	})

	// 点击小图标 跳转到指定的页面
	$(‘#ol li‘).click(function(){
		i = $(this).index();
		moveImg(i);
	})

</script>
</body>
</html>

  

时间: 2024-12-06 14:47:32

jQuery 无缝轮播的相关文章

记一个jquery 无缝轮播的制作方法

接触前端也很久了,今天才发现,要做好一个轮播,其实有很多东西需要考虑进去,否则做出来的轮播效果并不好,下面我就来做一个轮播,是依赖jquery来写的 1.要做轮播,首先需要的是HTML的内容,css的机构样式,以下为html代码: 1 <!DOCTYPE html> 2 <html> 3 4 <head> 5 <meta charset="utf-8" /> 6 <link rel="stylesheet" hr

jquery无缝轮播事Dome

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>无缝轮播</title> <script type="text/javascript" src="js/jQuery1.11.1.js"></script> <style type=&qu

jQuery无缝轮播图思路详解-唯品会

效果图如上: 需求:图片自动轮播,鼠标移上停止播放,离开恢复播放,箭头切换图片. html代码 <!--轮播图大盒子开始--> <div class="wrap"> <!--大盒子上部分轮播图--> <div class="wrapUp"> <ul> <li class="cur"><a href="#"><img src="i

jQuery制作无缝轮播效果

[一]HTML结构 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>jquery制作无缝轮播器</title> <script type="text/javascript" src="jquery-1.12.4.js"></script> &

jQuery插件版无缝轮播,重写了之前的代码,显得更高大上一点

轮播图之前也写了好几个,但是对于怎么实现无缝轮播还是有着不小的困惑,趁着周末了解了一下实现原理之后,重写了之前发布的案例(再看那个案例写的代码,真心心塞啊,不过只要努力学习,天天进步就好).好了,下面就来说下如何实现无缝轮播. 百度了很多,各种各样的说法,但说的都不太明白,最后还是看了视频解决的. 我实现的这种思路是这样的:1.假设你是用无序列表实现的哈,里面的每个li 包含着你的一个图片,首先呢,你得克隆一份第一张图片,并将其追加到你的ul 里面.2.通过改变ul 的left 值,你实现了一张

jquery实现图片无缝轮播显示(个人随笔)

纯属个人随笔,不当之处,欢迎指正. 代码如下: <!doctype html> <html> <head> <meta charset="utf-8"> <title>图片无缝轮播显示</title> <script type="text/javascript" src="JavaScript/jquery-1.11.2.min.js"></script&g

左右无缝轮播图的实现

无缝轮播图: <title>无缝轮播图</title> <style> *{margin: 0;padding:0; } ul{list-style: none;} .banner{width: 600px;height: 300px;border: 2px solid #ccc;margin: 100px auto;position: relative;overflow: hidden;} .img{position: absolute;top: 0;left: 0}

jq实现无缝轮播

2016-10-14 jq实现无缝轮播 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <me

jquery实现轮播插件

这几天用jquery写了两个轮播的插件,功能很简单.第一次尝试写插件,有很多不足的地方,代码如下: 注:图片链接请替换掉,配置信息必须加上图片width和height. <!DOCTYPE html> <html ng-app="myApp"> <head lang="en"> <meta charset="UTF-8"> <link rel="stylesheet" hr