焦点图

在项目开发中,有一些经常会用到的效果,比如焦点图轮播,效果虽已司空见惯,但对于初学者来说,还是没有思路,只能网上下载,下载的一大堆代码又看不明白,无论布局还是js控制,只能撞大运式移置到项目上,不但影响了工作效率,还影响了项目的质量。以下是我在项目中自己开发的一个焦点图轮播效果,其实这个效果有两个要点:

1.布局,要知道在网页上动的物体一般都是通过position:absolute的定位方式,然后在它的外面有个position:relative的父级

2.脚本,找到要移动的元素,用定时器间隔一定时间修改它的left或top的值

效果图:


具体代码如下:

<!DOCTYPE html>
<html>

	<head>
		<meta charset="utf-8">
		<title>焦点图</title>
		<style type="text/css">
			* {
				margin: 0;
				padding: 0;
			}
			.scrollparent {
				width: 310px;
				height: 232px;
				margin: 50px auto;
				border: 1px solid lime;
				position: relative;
				overflow: hidden;
			}
			.scrollbanner {
				position: absolute;
				left: 0;
				top: 0;
			}
			.scrollbanner img {
				float: left;
			}
			.scrolldots {
				height: 15px;
				position: absolute;
				bottom: 10px;
			}
			.scrolldots li {
				width: 12px;
				height: 12px;
				list-style: none;
				border-radius: 50%;
				background-color: red;
				margin: 0 5px;
				float: left;
				cursor: pointer;
			}
			.scrolldots .active {
				background-color: white;
			}
		</style>
	</head>

	<body>
		<div class="scrollparent">
			<div class="scrollbanner">
				<img src="1.jpg" width="310" height="232">
				<img src="2.jpg" width="310" height="232">
				<img src="3.jpg" width="310" height="232">
				<img src="4.jpg" width="310" height="232">
				<img src="5.jpg" width="310" height="232">
				<img src="6.jpg" width="310" height="232">
			</div>
			<div class="scrolldots">
				<ul>
					<li class="active"></li>
					<li></li>
					<li></li>
					<li></li>
					<li></li>
					<li></li>
				</ul>
			</div>
		</div>
		<script src="jquery-1.11.1.min.js" type="text/javascript" charset="utf-8"></script>
		<script src="jquery.pixviewer.js" type="text/javascript" charset="utf-8"></script>
	</body>

</html>

jquery.pixviewer.js

(function($) {
	var i = 1,
	$scroll = $('.scrollbanner'),
	$img=$scroll.find('img'),
	count = $img.length,
	w=$img.width(),
	timer = null,
	interval = 5000;
		
	//滚动部分宽度
	$('.scrollparent .scrollbanner').width(w*count);
	
	//序列宽度
	var lt=($('.scrollparent').width()-$('.scrollparent .scrolldots').width())/2;
	$('.scrollparent .scrolldots').css('left',lt+'px');
	
	//滚动动画
	function scrollBanner() {
		if (!$scroll.is(':animated')) {
			$scroll.animate({
				left: -w * i
			}, 'fast', function() {
				$('.scrolldots li').removeClass('active').eq(i).addClass('active');

				i++;
				if (i == count) {
					i = 0;
				}
			});
		}
	}

	timer = setInterval(scrollBanner, interval);

	$scroll.hover(function() {
		clearInterval(timer);
	}, function() {
		timer = setInterval(scrollBanner, interval);
	});

	$('.scrolldots li').on('click', function() {
		i = $(this).index();
		$('.scrolldots li').removeClass('active').eq(i).addClass('active');
		scrollBanner();
	});
})(jQuery);

jquery的代码就不提供了,用户可以自行在网上下载,到此,大家可以拷贝以上代码放心使用了。


无js的焦点图效果,请点击:http://blog.csdn.net/pvfhv/article/details/5644179


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值