自己动手丰衣足食之轮播图一动态修改marginTop属性实现轮播图

引言

学习jQuery有年头了,刚开始学习时自己动手写过轮播图,放的久了以至于忘了大致思路了。现在转而做前端,抽空把jquery轮播图拿出来写一写,把各种思路都自己练习练习,这里主要使用动态修改marginTop来实现。

实现原理

1、除第一张图片外,其余图片全部隐藏,4张图片重叠起来。

2、导航按钮添加mouseover和mouseleave事件。

3、设置interval函数,启动定时器调用ShowImg函数。

4、动态修改marginTop属性达到上下轮播的效果,说道动态修改margin属性,在以前滑动门中也是这个原理。

效果图(图片引用自橡树小屋博客

实现代码

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Index</title>
<script type="text/javascript" src="js/jquery-1.4.1.js"></script>
<style type="text/css">
	*{margin: 0;padding: 0;}
	ul li{list-style: none;}
	#scrollpics{width: 478px;height: 286px;overflow: hidden;position: relative;margin:30px 50px;}
	.num{position:absolute;right: 8px;bottom: 8px;}
	.num li {float:left;color:#FF7300;text-align: center;width: 16px;height: 16px;line-height: 16px;border: 1px solid #FF7300;background-color: #fff; border-radius: 10px;overflow: hidden;cursor: pointer;margin-left: 7px;}
	.num li.on {color:#fff;background-color: #FF7300;}
</style>
<script type="text/javascript">

	var index=0;
	var adTimer;

	$(function(){
		var len = $("ul.num li").length;
		$(".num li").mouseover(function(){
			index=$(".num li").index(this);
			ShowImg(index);
		});

		$("#scrollpics").hover(function(){
			clearInterval(adTimer);
		},function(){
			adTimer=setInterval(function(){
				ShowImg(index);
				index++;
				if(index==len){
					index=0;
				}
			},3000)
		}).trigger(‘mouseleave‘);

	});

	function ShowImg(index){
		var adHeight=$("#scrollpics>ul>li:first").height();

		$(".slider").stop(true,false).animate({
			"marginTop":-adHeight*index+"px"
		},1000);

		$(".num li").removeClass("on").eq(index).addClass("on");
	}
</script>
</head>
<body>
	<div id="scrollpics">
		<ul class="slider">
			<li><img src="img/p1.jpg"></li>
			<li><img src="img/p3.jpg"></li>
			<li><img src="img/p4.jpg"></li>
			<li><img src="img/p5.jpg"></li>
		</ul>
		<ul class="num">
			<li class="on">1</li>
			<li>2</li>
			<li>3</li>
			<li>4</li>
		</ul>
	</div>
</div>
</body>
</html>
时间: 2024-08-07 21:19:49

自己动手丰衣足食之轮播图一动态修改marginTop属性实现轮播图的相关文章

java 数据结构 图中使用的一些常用算法 图的存储结构 邻接矩阵:图的邻接矩阵存储方式是用两个数组来标示图。一个一位数组存储图顶点的信息,一个二维数组(称为邻接矩阵)存储图中边或者弧的信息。 设图G有n个顶点,则邻接矩阵是一个n*n的方阵,定义为: 实例如下,左图是一个无向图。右图是邻接矩阵表示:

以下内容主要来自大话数据结构之中,部分内容参考互联网中其他前辈的博客. 图的定义 图是由顶点的有穷非空集合和顶点之间边的集合组成,通过表示为G(V,E),其中,G标示一个图,V是图G中顶点的集合,E是图G中边的集合. 无边图:若顶点Vi到Vj之间的边没有方向,则称这条边为无项边(Edge),用序偶对(Vi,Vj)标示. 对于下图无向图G1来说,G1=(V1, {E1}),其中顶点集合V1={A,B,C,D}:边集合E1={(A,B),(B,C),(C,D),(D,A),(A,C)}: 有向图:若

如何使用 css3 transform 属性来变换背景图?

本文和大家分享的主要是使用 css3 transform 属性来变换背景图相关内容,一起来看看吧,希望对大家学习css3有所帮助. 使用 css3 transform 属性可以轻易的旋转,倾斜,缩放任何元素.目前即使没有任何前缀也可以在绝大部分浏览器上很好的使用 . 如果你要在黑莓浏览器或者 UC 浏览器使用这个属性, 你需要加 -webkit- 前缀. #myelement { -webkit-transform: rotate(30deg); transform: rotate(30deg)

Android自定义控件 -Canvas绘制折线图(实现动态报表效果)

有时候我们在项目中会遇到使用折线图等图形,Android的开源项目中为我们提供了很多插件,但是很多时候我们需要根据具体项目自定义这些图表,这一篇文章我们一起来看看如何在Android中使用Canvas绘制折线图.先看看绘制的效果: 代码: public class MyView extends View { //坐标轴原点的位置 private int xPoint=60; private int yPoint=260; //刻度长度 private int xScale=8;  //8个单位构

iOS 中各种折线.曲线.图形绘制方法集锦(折线图.走势图.柱状图.动态曲线图.形状图.划线图)

前言 具体实现如下: 目录 前言 第一 折线图实现 .1) 自定义视图实现 .2)关键技术实现 .3) 方法调用 .4) 效果展示 第二 走势曲线图实现 .1) 导入DJChart第三方库 .2)横竖轴参数设置 .3) 方法调用 .4) 效果展示 第三 画线图实现 .1) 导入ZXQuartz第三方库 .2) 自定义视图,画各种图形 .3) 方法调用 .4) 效果展示 第四 柱状图实现 .1) 导入ZXQuartz第三方库 .2)横竖轴参数设置 .3) 方法调用 .4) 效果展示 第五 各式图形

CSS基础知识之背景图片样式属性、雪碧图、列表导航栏、超链接的伪类样式、盒子模型、overflow、圆角弧度

目录: 背景图片样式属性 雪碧图 列表导航栏 超链接的伪类样式 盒子模型. overflow. 圆角弧度 背景图片样式属性: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <style> #imgContainer { border: 20px dotted yellow; padding: 50px; height: 400p

视差贴图(Parallax Mapping)与陡峭视差贴图(Steep Palallax Mapping)

视差贴图(Parallax Mapping) Demo下载 视差贴图目前已经被广泛运用了,只需要增加一种模型表面的深度纹理信息之后,就能近似的模拟模型的凹凸,在不需要灯光,不需要环境反射的情况下,可以比较真实的模拟真实世界. 先来看一下视差贴图与其他贴图的区别 可以看出 Parallax Mapped 和Steep Parallax Mapped 实现的效果要好很多. 下面的图片更好的表现了视差贴图的好处 原理: 根据用户的观察角度来将纹理坐标偏移,就是把模型表面较高的位置来遮挡位置较低的位置.

FusionChart实现柱状图、饼状图的动态数据显示 附Demo

最近做的项目中需要用饼状图显示——'问卷调查'的统计结果(之前用过FusionChart做过柱状图的数据展示,那还是两年前的事了),在网上查了下FusionChart实现饼状图显示方面的资料,却发现资料都比较零散.不完整,或者说没有简洁明了的说清楚其用法,到FusionChart官网上去看,无奈是英文的,而且Deom项目太大,没有耐心去看,最后还是将以前的项目找出来,摸索着弄了下搞定,现将FusionChart实现柱状图.饼状图的动态数据显示的方法和经验写出来,希望对做web开发需要的朋友能有所

怎么用Eagle for Mac打开查看GIF动图?用Eagle for Mac查看GIF动图的图文

Mac版Eagle怎样打开查看GIF动图?eagle mac版以其功能强大,设计简洁等特点深受用户的喜爱.在Eagle众多功能中,打开查看GIF动图这一功能也是非常简单又好用的.今天要给大家分享的就是怎么用Eagle for Mac打开查看GIF动图. 用Eagle for Mac查看GIF动图的图文教程 一.首先选好想要打开查看的GIF动图,如下图所示:二.单击,选择"打开方式"选项,之后选择"Eagle"为打开方式,如下图所示:三.之前选中的GIF图片在Eagl

怎样利用思维导图模板绘制思维导图?分享几款常用的思维导图模板

对于思维导图的绘制使用是较为普遍的,随着其优势逐渐增加,很多朋友都愿意使用思维导图来对工作或者是学习进行总结,下面是分享的几款思维导图模板以及怎样使用思维导图模板绘制思维导图的简单方法,希望可以帮助到大家.思维导图模板: 1.平凡的世界内容概括 2.思维导图如何记忆 3.心理陷阱思维导图 绘制思维导图: 1在绘制思维导图时可以新建空白页面对思维导图进行编辑使用,也可以选择使用模板进行编辑使用,这里讲述使用模板绘制思维导图操作方法. 2.进入在线编辑页面之后选择页面中的模板库点击,可以选择根据模板