使用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 相关文章推荐
javascript基础的动画教程,直观易懂
Jan 10 Javascript
背景图跟随鼠标移动的Mootools插件实现代码
Dec 12 Javascript
javascript垃圾收集机制与内存泄漏详细解析
Nov 11 Javascript
第二章之Bootstrap 页面排版样式
Apr 25 Javascript
Jquery根据浏览器窗口改变调整大小的方法
Feb 07 Javascript
如何使用bootstrap框架 bootstrap入门必看!
Apr 13 Javascript
详解webpack4多入口、多页面项目构建案例
May 25 Javascript
如何为vue的项目添加单元测试
Dec 19 Javascript
JS函数节流和防抖之间的区分和实现详解
Jan 11 Javascript
JavaScript遍历查找数组中最大值与最小值的方法示例
May 24 Javascript
原生JavaScript实现日历功能代码实例(无引用Jq)
Sep 23 Javascript
JavaScript实现点击切换功能
Jan 27 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发送与接收流文件的方法
2015/02/11 PHP
php解压缩zip和rar压缩包文件的方法
2019/07/10 PHP
Yii使用EasyWechat实现小程序获取用户的openID的方法
2020/04/29 PHP
jQuery EasyUI API 中文文档 - Parser 解析器
2011/09/29 Javascript
jQuery学习笔记 操作jQuery对象 文档处理
2012/09/19 Javascript
Javascript无阻塞加载具体方式
2013/06/28 Javascript
详解jquery uploadify 上传文件
2013/11/09 Javascript
node.js中的fs.fstatSync方法使用说明
2014/12/15 Javascript
原生js实现图片轮播特效
2015/12/18 Javascript
AngularJS实现ajax请求的方法
2016/11/22 Javascript
JavaScript观察者模式(publish/subscribe)原理与实现方法
2017/03/30 Javascript
three.js利用gpu选取物体并计算交点位置的方法示例
2019/11/25 Javascript
vue项目中极验验证的使用代码示例
2019/12/03 Javascript
基于Vue的侧边目录组件的实现
2020/02/05 Javascript
nodejs处理tcp连接的核心流程
2021/02/26 NodeJs
Python 实现12306登录功能实例代码
2018/02/09 Python
python面向对象多线程爬虫爬取搜狐页面的实例代码
2018/05/31 Python
查看Python依赖包及其版本号信息的方法
2019/08/13 Python
pytorch 输出中间层特征的实例
2019/08/17 Python
浅谈python print(xx, flush = True) 全网最清晰的解释
2020/02/21 Python
Python实现在线批量美颜功能过程解析
2020/06/10 Python
HTML5语义化元素你真的用对了吗
2019/08/22 HTML / CSS
德国家具购物网站:Möbel Höffner
2019/08/26 全球购物
德国大型箱包和皮具商店:Koffer
2019/10/01 全球购物
俄罗斯购买内衣网站:Trusiki
2020/08/22 全球购物
Android面试题附答案
2014/12/08 面试题
餐饮主管岗位职责
2013/12/10 职场文书
《将心比心》教学反思
2014/04/08 职场文书
活动倡议书范文
2014/05/13 职场文书
四风问题个人自查剖析材料思想汇报
2014/09/21 职场文书
2014村党支部书记党建工作汇报材料
2014/11/02 职场文书
2014年幼儿园园长工作总结
2014/12/17 职场文书
求职信范文怎么写
2015/03/19 职场文书
2015大学生求职信范文
2015/03/20 职场文书
2016党风廉政建设心得体会范文
2016/01/25 职场文书
Python合并多张图片成PDF
2021/06/09 Python