使用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 相关文章推荐
jquery判断字符输入个数(数字英文长度记为1,中文记为2,超过长度自动截取)
Oct 15 Javascript
jQuery学习笔记(1)--用jQuery实现异步通信(用json传值)具体思路
Apr 08 Javascript
js使用eval解析json实例与注意事项分享
Jan 18 Javascript
[原创]jQuery常用的4种加载方式分析
Jul 25 Javascript
Bootstrap基本样式学习笔记之标签(5)
Dec 07 Javascript
jQuery插件zTree实现清空选中第一个节点所有子节点的方法
Mar 08 Javascript
vue2 前后端分离项目ajax跨域session问题解决方法
Apr 27 Javascript
jquery实现简单实用的轮播器
May 23 jQuery
js 获取html5的data属性实现方法
Jul 28 Javascript
jQuery实现图片简单轮播功能示例
Aug 13 jQuery
webpack4打包vue前端多页面项目
Sep 17 Javascript
微信小程序自定义tabBar在uni-app的适配详解
Sep 30 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函数(简单整理)
2010/04/30 PHP
php简单实现无限分类树形列表的方法
2015/03/27 PHP
JavaScript之appendChild、insertBefore和insertAfter使用说明
2010/12/30 Javascript
js性能优化 如何更快速加载你的JavaScript页面
2012/03/17 Javascript
jQuery $.data()方法使用注意细节
2012/12/31 Javascript
5种处理js跨域问题方法汇总
2014/12/04 Javascript
JS数字抽奖游戏实现方法
2015/05/04 Javascript
JavaScript中Boolean对象的属性解析
2015/10/21 Javascript
jQuery操作之效果详解
2017/05/19 jQuery
JS 实现banner图片轮播效果(鼠标事件)
2017/08/04 Javascript
3种vue组件的书写形式
2017/11/29 Javascript
基于axios 的responseType类型的设置方法
2019/10/29 Javascript
使用zrender.js绘制体温单效果
2019/10/31 Javascript
[02:47]3.19DOTA2发布会 国服成长历程回顾
2014/03/25 DOTA
python开发之list操作实例分析
2016/02/22 Python
Python实现查找匹配项作处理后再替换回去的方法
2017/06/10 Python
Python实现自动上京东抢手机
2018/02/06 Python
Python实现求解一元二次方程的方法示例
2018/06/20 Python
mac下如何将python2.7改为python3
2018/07/13 Python
python获取中文字符串长度的方法
2018/11/14 Python
python3实现钉钉消息推送的方法示例
2019/03/14 Python
Python3 元组tuple入门基础
2020/02/09 Python
Tensorflow中批量读取数据的案列分析及TFRecord文件的打包与读取
2020/06/30 Python
CSS3之边框多颜色Border-color属性使用示例
2013/10/11 HTML / CSS
美国顶级防滑鞋:Shoes For Crews
2017/03/27 全球购物
员工培训心得体会
2013/12/30 职场文书
亲子拓展活动方案
2014/02/20 职场文书
大学生两会学习心得体会
2014/03/10 职场文书
cf搞笑广告词
2014/03/14 职场文书
关于环保的活动方案
2014/08/25 职场文书
质量月活动总结
2014/08/26 职场文书
2014年个人债务授权委托书范本
2014/09/22 职场文书
2014年材料员工作总结
2014/11/19 职场文书
综合素质自我评价评语
2015/03/06 职场文书
2016年六一儿童节开幕词
2016/03/04 职场文书
2016年质量月活动总结报告
2016/04/05 职场文书