使用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 相关文章推荐
借助script进行Http跨域请求:JSONP实现原理及代码
Mar 19 Javascript
jquery在项目中做复选框时遇到的一些问题笔记
Nov 17 Javascript
jQuery实现标题有打字效果的焦点图代码
Nov 16 Javascript
简单实现bootstrap选项卡效果
Feb 08 Javascript
JavaScript运行原理分析
Feb 09 Javascript
利用SpringMVC过滤器解决vue跨域请求的问题
Feb 10 Javascript
angularJs 表格添加删除修改查询方法
Feb 27 Javascript
vue.js轮播图组件使用方法详解
Jul 03 Javascript
JS实现根据数组对象的某一属性排序操作示例
Jan 14 Javascript
js实现简单掷骰子小游戏
Oct 24 Javascript
部署vue+Springboot前后端分离项目的步骤实现
May 31 Javascript
原生JS实现记忆翻牌游戏
Jul 31 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+MySQL 手工注入语句大全 推荐
2009/10/30 PHP
PHP关联链接常用代码
2012/11/05 PHP
php实现改变图片直接打开为下载的方法
2015/04/14 PHP
PHP变量赋值、代入给JavaScript中的变量
2015/06/29 PHP
php在linux环境中如何使用redis详解
2020/12/15 PHP
Javascript模板技术
2007/04/27 Javascript
javaScript同意等待代码实现心得
2011/01/01 Javascript
JQuery扩展插件Validate 1 基本使用方法并打包下载
2011/09/05 Javascript
E3 tree 1.6在Firefox下显示问题的修复方法
2013/01/30 Javascript
图片放大镜jquery.jqzoom.js使用实例附放大镜图标
2014/06/19 Javascript
node.js中的buffer.Buffer.isBuffer方法使用说明
2014/12/14 Javascript
Angularjs 依赖压缩及自定义过滤器写法
2017/02/04 Javascript
React Native之TextInput组件解析示例
2017/08/22 Javascript
react-native 完整实现登录功能的示例代码
2017/09/11 Javascript
vue实现tab切换外加样式切换方法
2018/03/16 Javascript
vue项目实现表单登录页保存账号和密码到cookie功能
2018/08/31 Javascript
JS 数组随机洗牌的实例代码
2018/09/12 Javascript
Vue 第三方字体图标引入 Font Awesome的方法
2018/09/28 Javascript
Jquery实现无缝向上循环滚动列表的特效
2019/02/13 jQuery
vue如何自动化打包测试环境和正式环境的dist/test文件
2019/06/06 Javascript
Python利用pyHook实现监听用户鼠标与键盘事件
2014/08/21 Python
Python实现删除文件但保留指定文件
2015/06/21 Python
Python 中 list 的各项操作技巧
2017/04/13 Python
python kmeans聚类简单介绍和实现代码
2018/02/23 Python
Python3 中把txt数据文件读入到矩阵中的方法
2018/04/27 Python
Python第三方Window模块文件的几种安装方法
2018/11/22 Python
pandas计数 value_counts()的使用
2019/06/24 Python
Pytorch通过保存为ONNX模型转TensorRT5的实现
2020/05/25 Python
Python 多进程原理及实现
2020/12/21 Python
英国男女豪华配饰和礼品网站:Black.co.uk
2020/02/28 全球购物
有abstract方法的类一定要用abstract修饰吗
2016/03/14 面试题
家长写给老师的建议书
2014/03/13 职场文书
2014年乡镇团委工作总结
2014/12/18 职场文书
信用卡工资证明范本
2015/06/19 职场文书
教师节领导致辞
2015/07/29 职场文书
Go使用协程交替打印字符
2021/04/29 Golang