使用html+js+css 实现页面轮播图效果(实例讲解)


Posted in Javascript onSeptember 21, 2017

html 页面

<html lang="en">
<head>
 <meta charset="UTF-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <meta http-equiv="X-UA-Compatible" content="ie=edge">
 <link rel="stylesheet" href="carousel.css" rel="external nofollow" >
 <title>轮播图效果</title>
</head>
<body>
 <section id="main">
 <div id="picture"></div>
 <!-- 添加图中按钮 图片轮播在js中大致成型后再写最好-->
 <div id="dot">
 <span></span>
 <span></span>
 <span></span>
 <span></span>
 <span></span>
 </div>

 <!-- 添加切换按钮 -->
 <div id="an">
  <div class="left"><</div>
  <div class="right">></div>
 </div>
 </section>
 <script src="jquery.js"></script>
 <script src="carousel.js"></script>
</body>

css页面 carousel.css

#main{
 width: 655px;
 height: 361px;
 position: relative;
}
#picture{
 width:100%;
 height: 100%;
}
#picture img{
 
 width:100%;
 height: 100%;
 display: none;
}

#picture img:nth-child(1){
 display: inline-block;
}


/* 设置圆点的样式 */
#dot span{
 display: inline-block;
 width:25px;
 height: 25px;
 border-radius: 50%;
 background-color: gray;
 margin-left: 10px;
 opacity: 0.6
}


#dot{
 position: absolute;
 right: 40px;
 bottom: 30px;
}


/* 设置页面刚加载的圆点初始状态 1 第一个圆点放大1.2倍 2、颜色变成蓝色
 */
 #dot :nth-of-type(1){
 transform: scale(1.2);
 background-color: blue;
 }


 .left ,.right{
 
 width: 40px;
 height: 40px;
 border-radius: 50%;
 font-size: 30px;
 color: white;
 position: absolute;
 bottom: calc((100% - 40px)/2);
 text-align: center;
 }


 .left{
 left: 15px;
 }
 .right{
 right: 15px;
 }


 .left:hover ,.right:hover{
 background-color: white;
 color:red;
 }

js页面 carousel.js

for(var i=1; i<6;i++){
 $('#picture').append("<img src='./../images/"+i+".jpg' >");
}
//给图片转化设置定时函数
var index=0;
var timer;
function changeImageDot(){
 $('#picture img:nth-child('+(index+1)+')').css({
 display:'block',
 }).siblings().css({
 display:'none',
 });
 //设置随图片切换,对应的圆点样式发生变化
 // index+1 是因为索引是从0开始而 nth-child(i) 中的i是从1 开始的
 $('#dot span:nth-child('+(index+1)+')').css({
 transform: 'scale(1.2)',
 'background-color': 'blue',
 }).siblings().css({
 transform: 'scale(1)',
 'background-color':'gray',
 });
}
function produceTime(){
 timer=setInterval(function(){
 index++;
 if(index==5) 
 index=0;
 changeImageDot();
 
 },2000);
}

produceTime();
//鼠标悬浮在圆点上 , 圆点和图片的变化
$('#dot span').mouseenter(function(){
 index=$(this).index();
 changeImageDot(); 
 clearInterval(timer); 
 produceTime(); 
});
//缺点:点击切换按钮后,图片切换后 ,会立即切换到下一个图片,需要设置 清除计时器后再新建一个计时器
$('.left').click(function(){
 index--;
 if(index==-1)
 index=4;
 changeImageDot(); 
 clearInterval(timer);
 produceTime();


});


$('.right').click(function(){
 index++;
 if(index==5)
 index=0;
 changeImageDot();
 clearInterval(timer);
 produceTime();

以上这篇使用html+js+css 实现页面轮播图效果(实例讲解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Add a Table to a Word Document
Jun 15 Javascript
Javascript 验证上传图片大小[客户端]
Aug 01 Javascript
JavaScript Array扩展实现代码
Oct 14 Javascript
javascript中的事件代理初探
Mar 08 Javascript
javascript日期验证之输入日期大于等于当前日期
Dec 13 Javascript
javascript实现鼠标点击页面 移动DIV
Dec 02 Javascript
微信小程序实现图片自适应(支持多图)
Jan 25 Javascript
JS实现颜色动态淡化效果
Mar 06 Javascript
p5.js入门教程和基本形状绘制
Mar 15 Javascript
bootstrap 弹出框modal添加垂直方向滚轴效果
Jul 09 Javascript
详解Angular6 热加载配置方案
Aug 18 Javascript
深入学习TypeScript 、React、 Redux和Ant-Design的最佳实践
Jun 17 Javascript
详解JavaScript中的六种错误类型
Sep 21 #Javascript
解决Vue编译时写在style中的路径问题
Sep 21 #Javascript
使用JS实现图片轮播的实例(前后首尾相接)
Sep 21 #Javascript
Node调用Java的示例代码
Sep 20 #Javascript
浅谈react前后端同构渲染
Sep 20 #Javascript
微信页面弹出键盘后iframe内容变空白的解决方案
Sep 20 #Javascript
微信小程序 页面跳转事件绑定的实例详解
Sep 20 #Javascript
You might like
php操作XML、读取数据和写入数据的实现代码
2014/08/15 PHP
NodeJs中的非阻塞方法介绍
2012/06/05 NodeJs
javascript学习笔记(十三) js闭包介绍(转)
2012/06/20 Javascript
如何使用jquery控制CSS样式,并且取消Css样式(如背景色,有实例)
2013/07/09 Javascript
javascript:window.open弹出窗口的位置问题
2014/03/18 Javascript
浅谈angular.js中实现双向绑定的方法$watch $digest $apply
2015/10/14 Javascript
js实现延时加载Flash的方法
2015/11/26 Javascript
AngularJS使用ngMessages进行表单验证
2015/12/27 Javascript
jQuery处理XML文件的几种方法
2016/06/14 Javascript
vue.js学习之递归组件
2016/12/13 Javascript
微信小程序手势操作之单触摸点与多触摸点
2017/03/10 Javascript
基于JS实现限时抢购倒计时间表代码
2017/05/09 Javascript
详细介绍RxJS在Angular中的应用
2017/09/23 Javascript
在vue中解决提示警告 for循环报错的方法
2018/09/28 Javascript
javascript sort()对数组中的元素进行排序详解
2019/10/13 Javascript
vue-cli+iview项目打包上线之后图标不显示问题及解决方法
2019/10/16 Javascript
jQuery实现中奖播报功能(让文本滚动起来) 简单设置数值即可
2020/03/20 jQuery
Python中的FTP通信模块ftplib的用法整理
2016/07/08 Python
Pandas标记删除重复记录的方法
2018/04/08 Python
Selenium定位元素操作示例
2018/08/10 Python
Python正则表达式匹配和提取IP地址
2019/06/06 Python
python实现从本地摄像头和网络摄像头截取图片功能
2019/07/11 Python
在Keras中CNN联合LSTM进行分类实例
2020/06/29 Python
Pygame框架实现飞机大战
2020/08/07 Python
python 图像增强算法实现详解
2021/01/24 Python
设计师珠宝:Ylang 23
2018/05/11 全球购物
美国购买舞会礼服网站:Couture Candy
2019/12/29 全球购物
Carmen Sol官网:购买果冻鞋、手袋和配件
2021/01/01 全球购物
学校消防演习方案
2014/02/19 职场文书
小学教师个人先进事迹材料
2014/05/17 职场文书
法制宣传标语
2014/06/23 职场文书
乡镇四风对照检查材料
2014/08/31 职场文书
幼儿园老师工作总结2015
2015/05/22 职场文书
超强台风观后感
2015/06/09 职场文书
Vue详细的入门笔记
2021/05/10 Vue.js
Golang 1.18 多模块Multi-Module工作区模式的新特性
2022/04/11 Golang