图片轮播的手写代码

Posted jhcelue

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了图片轮播的手写代码相关的知识,希望对你有一定的参考价值。

之前有人问过我关于图片轮播的代码怎么写,尽管我是专注于后台的,但学习一些后台的仅仅是还是比較有优点的,我有时候总是把简单的问题复杂化,其原因还是自己对于知识点的掌握不够坚固,导致不可以在实践中充分利用起来。所以。在平时的学习过程中,很多其它的应该注重于实践,仅仅有实践,才干在这个过程中把知识充分吸收,充分利用。

话说回来,图片轮播,已经不能简单的依赖css了,可是问题来了,我却想到了用Ajax。。。。事实上,思路还是对的。即效果的生成还是依靠对节点的操作,但依靠纯粹的javascript却太过于复杂,所以我就引入了jquery库,这里面的东西自己感觉都学完了。可是灵活的运用还是不太有把握,非常多东西看起来单一,可是在实际的开发过程中结合起来却非常的重要。

另外我要说的是,也是我的个人观点,我看到有不少人去用dreamearver等所见即所得的开发工具去做特效,不是不行。我认为。即便是做出来,代码的复杂度和可阅读性会大大的下降,并且,非常不利于后期的维护工作,不懂代码的话会无法深入到代码去修该,所以说。我的建议是使用文本编辑工具如notepad++,假设是有规模的项目能够用集成开发工具。如Zend studio等。Dreamweaver是美工用的东西,不是面向开发者的。

回归到正题。我把图片轮播的代码文件方面分为4块: html文件    css文件    js文件    图片文件。

html;

<html>
	<head>
		<meta charset="utf-8" />
		<title>图片轮播</title>
		<script type="text/javascript" src="jquery.js"></script>
		<script type="text/javascript" src="my.js"></script>
		<link rel="stylesheet" type="text/css" href="my.css"/>
	</head>
	<body>
		<div class="main">
			<div class="myslide">
				<div class="myslidetwo">
					<img src="01.jpg"/>
					<img src="02.jpg"/>
					<img src="03.jpg"/>
					<img src="04.jpg"/>
				</div>
			</div>
			<div class="daohang">
				<ol>
					<li>1</li>
					<li>2</li>
					<li>3</li>
					<li>4</li>
				<ol>
			<div>
		</div>
	</body>
</html>
css文件:

body{
	background-color: #dddddd;
}
*{
	margin: 0px;
	padding: 0px;
	
}
.main{
	position: absolute;
	left: 50%;
	top: 50%;
	margin: -175px 0px 0px -250px;
	width: 500px;
	height: 350px;
}
.myslide{
	float: left;
	width: 500px;
	height: 350px;
	position: absolute;
	overflow: hidden;
}
.myslidetwo{
	position: absolute;
	overflow: hidden;
	width: 2000px;
}
.myslidetwo img{
	float: left;
	width: 500px;
	height: 350px;
}
.daohang{
	position: absolute;
	bottom: -40px;
	left: 210px;
	width: 200px;
	/*background: red;*/

}
ol li{
	list-style: none;
	float: left;
	border: #fc0;
	font-size: 30px;
	background: #fff;
	cursor: pointer;
}
ol li.current{
	background: #0f0;
}

js文件(注意:已经引入jquery文件)

$(document).ready(function(){
	var _now=0;
	var oul=$(".myslidetwo");
	var numl=$(".daohang ol li");
	var ali=$(".myslide").eq(0).width();
	numl.click(function(){
		var index=$(this).index();
		$(this).addClass("current").siblings().removeClass();
		oul.animate({‘left‘:-ali*index},500);
	})
	setInterval(function(){
		if(_now==numl.size()-1){
			_now=0;
		}else{
			_now++;
		}
		numl.eq(_now).addClass("current").siblings().removeClass();
		oul.animate({‘left‘:-ali*_now},500);
	},2000)
	
});
这样就完毕了图片的轮播,注意的是图片的尺寸,轮换的事件等

以上是关于图片轮播的手写代码的主要内容,如果未能解决你的问题,请参考以下文章

图片轮播图插件

jquery图片上下轮播的问题,怎么实现自动轮播?

VUE开发一个图片轮播的组件

会声会影如何制作图片轮播的视频效果

图片轮播的小案例

图片轮播的几个小程序