文档章节

javascript图片轮播(完全自己手写代码)

xiaobo137
 xiaobo137
发布于 2016/06/22 11:40
字数 729
阅读 66
收藏 0
点赞 0
评论 0

今天教同事jquery,用图片轮播来做课件,下面将页面代码分享给大家,希望能给大家带来帮助,另外,本示例界面比较粗糙,请海涵,未考虑兼容,如果需要使用,请适当的做修改。资源文件不提供,jquery库和图片素材请自行下载和替换。

<!DOCTYPE HTML>
<html>
 <head>
   
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
	<script type="text/javascript" src="./js/jquery.min.js"></script>
<style>
	html,body,.container{ margin:0;padding:0; font-size:12px;}
	.container{width:800px;height:300px; border:1px solid #cccccc;margin-left:200px; margin-top:140px;} 
	.imagebox{ width:680px;height:100%;position:relative;}
	.imagebox img{ border:0;} 
	.tiptext{ position:absolute;left:0px;bottom:0px; height:20px; line-height:20px; vertical-align:middle; text-indent:2em; background-color:#000000;color:#ffffff;opacity:0.6;width:100%; }
	.listbox{ float:right;width:100px;height:100%;}
	.item { height:50px;line-height:50px;width:80%; vertical-align:middle; margin:10px;}
	.item img{ border:1px solid #ffffff;width:100%;height:100%;} 
	.item img.on{ border:1px solid #000000;} 
</style>
 </head>

 <body>
	<div id="" class="container">
		<div id="listbox" class="listbox">
		 
		</div>
		<div id="" class="imagebox">
			<img id="imgdiv" src="" width="100%" height="100%" border="0"/>
			<div id="tiptext" class="tiptext"></div>
		</div>
	</div>

	 <script type="text/javascript">
		function Timer(data)
		{
			//通过构造方法获得资源数据
			this.data=data;
			//设定轮播速度 3s 一次
			this.speed=3000;
			//定义索引 ,默认为0	
			this.index=0;
			//定义定时器对象
			this.timerObj=null; 
		}

		Timer.prototype={
			//启动任务
			start:function(){ 
				//定义_this指向自身,便于后面进行引用
				var _this=this;
				//第一次直接播放
				this.play(this.index); 
				//索引自增
				this.index++;
				//开启定时器,并将定时器对象赋值给timerObj
				this.timerObj=setInterval(function(){
					//执行一次play方法
					_this.play(_this.index); 
					//索引自增,实现变化效果
					_this.index++;
				},this.speed)
			},
			stop:function(){
				//如果定时器对象不为空
				if(this.timerObj!=null)
				{
					//取消定时任务,即停止播放
					clearInterval(this.timerObj)
				}
			},
			play:function(index)
			{
				//获取数据总长度,
				var len = this.data.length;
				//如果索引超出范围
				if(index>=len)
				{
					//重新从第一个开始
					index=0;
				}
				//将索引赋值给对象,否则第二次论询时,索引不会自增
				this.index=index;
				//更新图片
				$("#imgdiv").attr("src",this.data[index].src);
				//更新文本
				$("#tiptext").html(this.data[index].text);

				//重置每个层的透明度
				$(".item").css("opacity",0.5); 

				//重置选中层的透明度
				$(".item").eq(index).css("opacity",1);

				//清除缩略图上的样式
				$(".item img").removeClass("on");
				
 
				//设定选中缩略图的样式
				$(".item img").eq(index).addClass("on");

			}

		}

	 <!--
		$(function(){
			//定义图片数据
			var data=[{src:"./images/img1.jpg",text:"测试1"},
					  {src:"./images/img2.jpg",text:"测试2"},
					  {src:"./images/img3.jpg",text:"测试3"},
					  {src:"./images/img4.jpg",text:"测试4"}];
			//定义图片轮播个数
			var count=data.length;
			//初始化图片列表
			for(var i=0;i<count;i++)
			{
				//给每个缩略图定义一个div
				var child= $("<div></div>");
				//设置样式
				child.addClass("item");
				//添加img标签,显示缩略图
				var img = $("<img/>");
				//设置图片资源
				img.attr("src",data[i].src)   
				//将图片添加到div
				child.append(img);  
				child.css("opacity",0.5);
				//将div添加到缩略图显示区域
				child.appendTo($("#listbox"));
			}
			//定义定时任务实例
			var timer=new Timer(data);
			//调用start 启动任务
			timer.start();
		});


		

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

效果图如下:

© 著作权归作者所有

共有 人打赏支持
xiaobo137
粉丝 34
博文 64
码字总数 33309
作品 0
长沙
项目经理
JavaWeb03-HTML篇笔记(二)

1.1 案例一:使用JS完成图片的轮播的效果:1.1.1 需求: 1.1.2 分析:1.1.2.1 技术分析: 【JS中的Window对象的定时的操作】 设置定时的方法 清除定时的方法 1.1.2.2 步骤分析: 【步骤一】创...

我是小谷粒 ⋅ 05/02 ⋅ 0

618快要来临--家具大战一战即发

前言 今年是小程序很火的一年,所以最近在自学微信小程序,所以打算自己撸一个小程序出来,由于自己才刚刚自学不久。就做了一个相对简单的家具小程序。当然在这其中也遇到了一些问题和bug,在...

盏茶作酒 流苏如画 ⋅ 06/11 ⋅ 0

教你在七天内无框架快速系统搭建小程序--喜马拉雅

这是一个不需要花哨、夸张、修饰的纯输出文章... 很多新手都喜欢一个人完成项目,从项目的规划、搭建,到实施、debug、验收,一整套流程都是自己纯手完成,当然,对于提高自己的整体开发能力...

沉睡的名侦探 ⋅ 06/19 ⋅ 0

纯HTML,CSS实现点击图片,显示内容

之前实现过用纯js实现轮播图切换,以及点击图片显示相关介绍信息,现在用纯HTML,CSS实现一个小功能,这个是跟一个美国朋友学到,非常厉害的一个前端发开程序员。也是他给的我这个思路。 1....

Mrs_CoCo ⋅ 06/03 ⋅ 0

最近排查android webview https的发热耗电和加载速度慢问题解决

最近排查android webview https的发热耗电和加载速度慢问题 问题:H5页面发热耗电 排查:通过android studio profiler 查看CPU消耗曲线,发现静置情况下webview轮播图波浪式消耗CPU,且峰值高...

ljianbing ⋅ 05/28 ⋅ 0

React 轮播图之二菜单栏左右滑动特效(swiper.js)

之前也写了react中的轮播图,用的是react-swipe 现在用的是在react中导入swiper.js来实现菜单栏左右滑动特效。话不多说,还是上代码: 注意:在react中一定要记得导入swiper.min.css。impor...

luyanwei79 ⋅ 04/28 ⋅ 0

再谈 load 与 DOMContentLoaded

本文首发在github,感兴趣请点击此处 window 的 onload 事件对于前端童鞋来说肯定是熟的不能再熟了,相信大家在刚入门时,见的最多的可能就是 load 事件了。load 事件接触多了,大家就会接触...

lucefer ⋅ 前天 ⋅ 0

面向对象,更适合JavaScript

面向对象程序设计是软件开发中一个很庞大很复杂的话题,它并不是仅仅学会类、继承、封装、多态这些面向对象编程语法元素就表示掌握的,这些语法元素只是实现面向对象程序的工具, 就像砖块、...

陈宏鸿 ⋅ 05/07 ⋅ 0

How Webkit works笔记

主要是参考google的这个幻灯片 webkit的作用就是将html,css,javascript渲染成web page。 它的主要组件有: api接口 webkit,webkit2 和平台的具体实现做绑定 bindings。绑定的准确定义我还...

yhchinabest ⋅ 04/15 ⋅ 0

2018 美团、腾讯、头条、蔚来 社招面试随谈

2018,工作快两年了,趁着春招的尾巴,面了几个大厂,现记录下这次的面试路程。 美团 去美团面试时,在路上问路正好问到美团的同学,美女人很友好,直接带我上去了,哈哈。 一面 首先让讲解了...

army001 ⋅ 06/09 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Netweaver和SAP云平台的quota管理

Netweaver 以需要为一个用户上下文(User Context)能够在SAP extended memory区域中分配内存尺寸创建quota为例。 对于Dialog工作进程,使用事务码修改参数 ztta/roll_extension_dia. 对于非D...

JerryWang_SAP ⋅ 22分钟前 ⋅ 0

IDEA提示编码速度

焦点移动 将焦点冲代码编辑窗口移动到菜单栏:Alt+菜单栏带下划线字母 将焦点从工具窗口移动到代码编辑窗口 Esc或Shift+Esc 将焦点从代码编辑移动到最近使用的工具窗口 F12 模板提示 Ctrl+J...

bithup ⋅ 31分钟前 ⋅ 0

180623-SpringBoot之logback配置文件

SpringBoot配置logback 项目的日志配置属于比较常见的case了,之前接触和使用的都是Spring结合xml的方式,引入几个依赖,然后写个 logback.xml 配置文件即可,那么在SpringBoot中可以怎么做?...

小灰灰Blog ⋅ 55分钟前 ⋅ 0

冒泡排序

原理:比较两个相邻的元素,将值大的元素交换至右端。 思路:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第...

人觉非常君 ⋅ 今天 ⋅ 0

Vagrant setup

安装软件 brew cask install virtualboxbrew cask install vagrant 创建project mkdir -p mst/vmcd mst/vmvagrant init hashicorp/precise64vagrant up hashicorp/precise64是一个box......

遥借东风 ⋅ 今天 ⋅ 0

python3.6 安装pyhook_3

我的是在win下的,忙了半天老是安装不了, pip install 也不行。 那么可以看出自己的版本是32bit 一脸懵逼 没办法 只好下载32版本的来安装 我一直以为 是 对应32 位的 。 下面是 小例子 http...

之渊 ⋅ 今天 ⋅ 0

004、location正则表达式

1、location的作用 location指令的作用是根据用户请求的URI来执行不同的应用,也就是根据用户请求的网站URL进行匹配,匹配成功即进行相关的操作。 2、location的语法 = 开头表示精确匹配 ^~...

北岩 ⋅ 今天 ⋅ 0

CentOS7 静默安装 Oracle 12c

环境 CentOS7.5 最小安装 数据库软件 linuxx64_12201_database.zip 操作系统配置 关闭 SELinux sed -i '/^SELINUX=/cSELINUX=disabled' /etc/selinux/config 关闭防火墙 systemctl disable ......

Colben ⋅ 今天 ⋅ 0

Yii2中findAll()的正确使用姿势/返回为空的处理办法

从一次错误的操作开始 $buildingObject = Building::findAll("status=1"); 1 这个调用看着没有任何毛病,但是在使用时返回的结果却是一个空数组。再回过头来看看数据表中: 按照套路来讲,查...

dragon_tech ⋅ 今天 ⋅ 0

如何优雅的编程——C语言界面的一点小建议

我们鼓励在编程时应有清晰的哲学思维,而不是给予硬性规则。我并不希望你们能认可所有的东西,因为它们只是观点,观点会随着时间的变化而变化。可是,如果不是直到现在把它们写在纸上,长久以...

柳猫 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部