使用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 相关文章推荐
asp 取文本框名称代码
Dec 02 Javascript
javascript void(0)的妙用
Oct 21 Javascript
js判断是否为数组的函数: isArray()
Oct 30 Javascript
jquery索引在使用中的一些困惑
Oct 24 Javascript
原生javaScript做得动态表格(注释写的很清楚)
Dec 29 Javascript
javascript history对象(历史记录)使用方法(实现浏览器前进后退)
Jan 07 Javascript
jQuery基于ajax实现带动画效果无刷新柱状图投票代码
Aug 10 Javascript
浅谈Jquery中Ajax异步请求中的async参数的作用
Jun 06 Javascript
Js利用prototype自定义数组方法示例
Oct 20 Javascript
ztree加载完成后显示勾选节点的实现代码
Oct 22 Javascript
vue 兄弟组件的信息传递的方法实例详解
Aug 30 Javascript
vue动态禁用控件绑定disable的例子
Oct 28 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中文字符串截取方法实例总结
2014/09/30 PHP
php中实现可以返回多个值的函数实例
2015/03/21 PHP
PHP实现基于文本的摩斯电码生成器
2016/01/11 PHP
php+mysql查询实现无限下级分类树输出示例
2016/10/03 PHP
PHP中十六进制颜色与RGB颜色值互转的方法
2019/03/18 PHP
JQuery 实现的页面滚动时浮动窗口控件
2009/07/10 Javascript
js去字符串前后空格5种实现方法及比较
2013/04/03 Javascript
jQuery中removeClass()方法用法实例
2015/01/05 Javascript
JavaScript实现找质数代码分享
2015/03/24 Javascript
PHPMyAdmin导入时提示文件大小超出PHP限制的解决方法
2015/03/30 Javascript
js获取鼠标位置实例详解
2015/12/09 Javascript
JavaScript动态插入CSS的方法
2015/12/10 Javascript
jQuery序列化表单成对象的简单实现
2016/11/29 Javascript
javascript过滤数组重复元素的实现方法
2017/05/03 Javascript
React中使用collections时key的重要性详解
2017/08/07 Javascript
JS实现拖动模糊框特效
2020/08/25 Javascript
[38:39]完美世界DOTA2联赛循环赛 IO vs GXR BO2第二场 11.04
2020/11/05 DOTA
浅谈python字符串方法的简单使用
2016/07/18 Python
Python学习笔记之函数的定义和作用域实例详解
2019/08/13 Python
Python算法中的时间复杂度问题
2019/11/19 Python
Pycharm+Python工程,引用子模块的实现
2020/03/09 Python
使用Python和百度语音识别生成视频字幕的实现
2020/04/09 Python
Python代码中如何读取键盘录入的值
2020/05/27 Python
plt.figure()参数使用详解及运行演示
2021/01/08 Python
世界上最大的网络主机公司:1&1
2016/10/12 全球购物
入党积极分子介绍信
2014/01/17 职场文书
2014世界杯球队球队口号
2014/06/05 职场文书
植物生产学专业求职信
2014/08/08 职场文书
创先争优活动承诺书
2014/08/30 职场文书
大学生国家助学金感谢信
2015/01/23 职场文书
市场部经理岗位职责
2015/02/02 职场文书
2015教师节师德演讲稿
2015/03/19 职场文书
千与千寻观后感
2015/06/04 职场文书
公司行政管理制度范本
2015/08/05 职场文书
python 爬取天气网卫星图片
2021/06/07 Python
Spring Boot 的创建和运行示例代码详解
2022/07/23 Java/Android