使用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 相关文章推荐
腾讯的ip接口 方便获取当前用户的ip地理位置
Nov 25 Javascript
jquery图片不完全按比例自动缩小的简单代码
Jul 29 Javascript
javascript变量声明实例分析
Apr 25 Javascript
微信小程序使用第三方库Underscore.js步骤详解
Sep 27 Javascript
利用JS实现页面删除并重新排序功能
Dec 09 Javascript
JQuery.validationEngine表单验证插件(推荐)
Dec 10 Javascript
Vue非父子组件通信详解
Jun 12 Javascript
关于Ajax的原理以及代码封装详解
Sep 08 Javascript
Vue 项目代理设置的优化
Apr 17 Javascript
jQuery实现checkbox全选、反选及删除等操作的方法详解
Aug 02 jQuery
layui实现根据table数据判断按钮显示情况的方法
Sep 26 Javascript
JavaScript相等运算符的九条规则示例详解
Oct 20 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
站长助手-网站web在线管理程序 v1.0 下载
2007/05/12 PHP
php使用PDO事务配合表格读取大量数据插入操作实现方法
2017/02/16 PHP
php简单随机字符串生成方法示例
2017/04/19 PHP
javascript实现的多个层切换效果通用函数实例
2015/07/06 Javascript
JavaScript实现输入框(密码框)出现提示语
2016/01/12 Javascript
详解A标签中href=&quot;&quot;的几种用法
2017/08/20 Javascript
基于$.ajax()方法从服务器获取json数据的几种方式总结
2018/01/31 Javascript
Vue中的基础过渡动画及实现原理解析
2018/12/04 Javascript
详解JavaScript对数组操作(添加/删除/截取/排序/倒序)
2019/04/28 Javascript
vue项目添加多页面配置的步骤详解
2019/05/22 Javascript
webpack是如何实现模块化加载的方法
2019/11/06 Javascript
JS实现进度条动态加载特效
2020/03/25 Javascript
JS co 函数库的含义和用法实例总结
2020/04/08 Javascript
js根据后缀判断文件文件类型的代码
2020/05/09 Javascript
vue+koa2搭建mock数据环境的详细教程
2020/05/18 Javascript
让你30分钟快速掌握vue3教程
2020/10/26 Javascript
[51:27]LGD vs Liquid 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/19 DOTA
python对excel文档去重及求和的实例
2018/04/18 Python
Django 中使用流响应处理视频的方法
2018/07/20 Python
Python中整数的缓存机制讲解
2019/02/16 Python
Python3 翻转二叉树的实现
2019/09/30 Python
python创建学生成绩管理系统
2019/11/22 Python
PyTorch中 tensor.detach() 和 tensor.data 的区别详解
2020/01/06 Python
python定义类self用法实例解析
2020/01/22 Python
关于Python3的import问题(pycharm可以运行命令行import错误)
2020/11/18 Python
台湾森森购物网:U-mall
2017/10/16 全球购物
.net软件工程师应聘上机试题
2015/03/10 面试题
MYSQL相比于其他数据库有哪些特点
2013/07/19 面试题
个人授权委托书模板
2014/09/14 职场文书
党员干部公开承诺书范文
2015/04/27 职场文书
企业安全隐患排查治理制度
2015/08/05 职场文书
《你在为谁工作》心得体会(共8篇)
2016/01/20 职场文书
高二数学教学反思
2016/02/18 职场文书
Ajax是什么?Ajax高级用法之Axios技术
2021/04/21 Javascript
教你使用VS Code的MySQL扩展管理数据库的方法
2022/01/22 MySQL
Python 操作pdf pdfplumber读取PDF写入Exce
2022/08/14 Python