使用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系列(44):设计模式之桥接模式详解
Mar 04 Javascript
js实现iframe框架取值的方法(兼容IE,firefox,chrome等)
Nov 26 Javascript
AngularJS入门教程之双向绑定详解
Aug 18 Javascript
原生js实现jquery函数animate()动画效果的简单实例
Aug 21 Javascript
Javascript日期格式化format函数的使用方法
Aug 30 Javascript
JS简单获取当前年月日星期的方法示例
Feb 07 Javascript
jquery点赞功能实现代码 点个赞吧!
May 29 jQuery
写给vue新手们的vue渲染页面教程
Sep 01 Javascript
angular中如何绑定iframe中src的方法
Feb 01 Javascript
JS回调函数原理与用法详解【附PHP回调函数】
Jul 20 Javascript
JS中的变量作用域(console版)
Jul 18 Javascript
详谈Vue.js框架下main.js,App.vue,page/index.vue之间的区别
Aug 12 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
discuz的php防止sql注入函数
2011/01/17 PHP
Swoole-1.7.22 版本已发布,修复PHP7相关问题
2015/12/31 PHP
浅析php如何实现App常用的秒发功能
2016/08/03 PHP
设定php简写功能的方法
2019/11/28 PHP
window.open()弹出居中的窗口
2007/02/01 Javascript
jquery 多行滚动代码(附详细解释)
2010/06/17 Javascript
jquery插件之easing 动态菜单
2010/08/21 Javascript
精通Javascript系列之Javascript基础篇
2011/06/07 Javascript
JS动态添加option和删除option(附实例代码)
2013/04/01 Javascript
网页中可关闭的漂浮窗口实现可自行调节
2013/08/20 Javascript
jQuery实现区域打印功能代码详解
2016/06/17 Javascript
简单实现AngularJS轮播图效果
2020/04/10 Javascript
JavaScript数据类型和变量_动力节点Java学院整理
2017/06/26 Javascript
详解VUE 对element-ui中的ElTableColumn扩展
2018/03/28 Javascript
详解vue组件基础
2018/05/04 Javascript
vue解决弹出蒙层滑动穿透问题的方法
2018/09/22 Javascript
vue-router命名路由和编程式路由传参讲解
2019/01/19 Javascript
JavaScript 九种跨域方式实现原理
2019/02/11 Javascript
vue工程全局设置ajax的等待动效的方法
2019/02/22 Javascript
webpack DllPlugin xxx is not defined解决办法
2019/12/13 Javascript
基于vue中的scoped坑点解说
2020/09/04 Javascript
[48:31]完美世界DOTA2联赛PWL S3 DLG vs Phoenix 第二场 12.17
2020/12/19 DOTA
使用Python实现博客上进行自动翻页
2017/08/23 Python
Python中的浮点数原理与运算分析
2017/10/12 Python
python3用PIL把图片转换为RGB图片的实例
2019/07/04 Python
python time()的实例用法
2020/11/03 Python
葡萄牙鞋子品牌:Fair
2016/12/10 全球购物
Stefania Mode英国:奢华设计师和时尚服装
2017/10/23 全球购物
在对linux系统分区进行格式化时需要对磁盘簇(或i节点密度)的大小进行选择,请说明选择的原则
2012/01/13 面试题
班风口号
2014/06/18 职场文书
校园学雷锋广播稿
2014/10/08 职场文书
数学教师个人工作总结
2015/02/06 职场文书
个人年度总结报告
2015/03/09 职场文书
导师工作推荐信
2015/03/27 职场文书
《中彩那天》教学反思
2016/02/24 职场文书
TypeScript 使用 Tuple Union 声明函数重载
2022/04/07 Javascript