完美实现js焦点轮播效果(一)


Posted in Javascript onMarch 07, 2017

最简单轮播形式,js中通过pic的display属性控制变换,也可通过调整Pic的margin-Left

效果如图:

完美实现js焦点轮播效果(一)

实现代码:

<!DOCTYPE html>
<html>
<head lang="en">
 <meta charset="UTF-8">
 <title></title>
 <style type="text/css">
*{
 margin: 0;
 padding: 0;
 list-style: none;
 text-decoration: none;
}
 .wrap{
 width: 490px;
 height: 170px;
 margin: 100px auto;
 border: 1px solid #000000;
 position: relative;
 overflow: hidden;
 }
 #pic{
 width: 2450px;
 height: 170px;
 }
 #pic li{
 float: left;
 }
 #list{
 position: absolute;
 bottom: 10px;
 left:150px ;
 }
 #list li{
 float: left;
 width: 15px;
 height: 15px;
 background: #fff;
 margin: 0 10px;
 border-radius: 50%;
 cursor: pointer;
 }
 #list .on{
 background: #e27a00;
 }
 .Prev{
 top: 30px;
 left: 0;
 }
 .Next{
 top: 30px;
 right: 0;
 }
 .Prev,.Next{
 position: absolute;
 font-size: 80px;
 font-weight: bold;
 color:#fff ;
 -webkit-transition: all 0.35s ease-in-out
 }
 .Next:hover,
 .Prev:hover{
 background: #ccc;
 background: rgba(204, 204, 204, 0.4);
 }
 .show{
 display: block;
 }
 .hidden{
 display: none;
 }
 </style>
 <script type="text/javascript">
 window.onload=function(){
 var pic=document.getElementById('pic').getElementsByTagName('li');
 var list=document.getElementById('list').getElementsByTagName('li');
 var prev=document.getElementById('Prev');
 var next=document.getElementById('Next');
 var index=0;
 var timer=null;

 auto();
 for(var i=0;i<list.length;i++){
 list[i].index=i;
 list[i].onmouseover=function(){
  clearInterval(timer);
  Change(this.index);
 }
 list[i].onmouseout=function(){
  auto();
 }
 pic[i].onmouseover=function(){
  clearInterval(timer);
 }
 pic[i].onmouseout=function(){
  auto();
 }
 }
 prev.onclick=function(){
 clearInterval(timer);
 index--;
 if(index<=0){
  index=list.length-1;
 }
 Change(index);
 }
 next.onclick=function(){
 clearInterval(timer);
 index++;
 if(index>=list.length){
  index=0;
 }
 Change(index);
 }
 prev.onmousemove=function(){
 clearInterval(timer);
 }
 prev.onmouseout=function(){
 auto();
 }
 next.onmouseover=function(){
 clearInterval(timer);
 }
 next.onmouseout=function(){
 auto();
 }

 function Change(curIndex){
  for(var i=0;i<list.length;i++){
  list[i].className="";
  pic[i].className="hidden";
  }
  list[curIndex].className="on";
  pic[curIndex].className="show";
 index=curIndex;
 }
 function auto(){
 timer=setInterval(function(){
  index++;
  if(index>=list.length){
  index=0
  }
  Change(index);
 },2000);
 }
 }
 </script>
</head>
<body>
<div class="wrap" id="wrap">
 <ul id="pic">
 <li class="show"><a href="#"><img src="/54111cd9000174cd04900170.jpg" alt=""/></a></li>
 <li><a href="#"><img src="/54111dac000118af04900170.jpg" alt=""/></a></li>
 <li><a href="#"><img src="/54111d9c0001998204900170.jpg" alt=""/></a></li>
 <li><a href="#"><img src="/54111d8a0001f41704900170.jpg" alt=""/></a></li>
 <li><a href="#"><img src="/54111d7d00018ba604900170.jpg" alt=""/></a></li>
 </ul>
 <ul id="list">
 <li class="on"></li>
 <li></li>
 <li></li>
 <li></li>
 <li></li>
 </ul>
 <a href="javascript:;" class="Prev" id="Prev"><</a>
 <a href="javascript:;" class="Next" id="Next">></a>
</div>
</body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
用javascript实现画板的代码
Sep 05 Javascript
select标记美化--JS式插件、后期加载
Apr 01 Javascript
javascript获取checkbox复选框获取选中的选项
Aug 12 Javascript
jQuery实现在最后一个元素之前插入新元素的方法
Jul 18 Javascript
莱鸟介绍javascript onclick事件
Jan 06 Javascript
基于JS实现回到页面顶部的五种写法(从实现到增强)
Sep 03 Javascript
VueJs与ReactJS和AngularJS的异同点
Dec 12 Javascript
基于vue组件实现猜数字游戏
May 28 Javascript
详解使用uni-app开发微信小程序之登录模块
May 09 Javascript
解决vue-router 二级导航默认选中某一选项的问题
Nov 01 Javascript
Node如何后台数据库使用增删改查功能
Nov 21 Javascript
多个Vue项目部署到服务器的步骤记录
Oct 22 Javascript
Vue2.0组件间数据传递示例
Mar 07 #Javascript
js实现网页定位导航功能
Mar 07 #Javascript
Vuejs 组件——props数据传递的实例代码
Mar 07 #Javascript
js实现百度登录框鼠标拖拽效果
Mar 07 #Javascript
Vue获取DOM元素样式和样式更改示例
Mar 07 #Javascript
原生JavaScript实现Tooltip浮动提示框特效
Mar 07 #Javascript
基于JavaScript实现图片剪切效果
Mar 07 #Javascript
You might like
帝国cms目录结构分享
2015/07/06 PHP
WordPress中创建用户角色的相关PHP函数使用详解
2015/12/25 PHP
thinkPHP自定义类实现方法详解
2016/11/30 PHP
PHP-FPM的配置与优化讲解
2019/03/15 PHP
tangram框架响应式加载图片方法
2013/11/21 Javascript
JavaScript在IE和FF下的兼容性问题
2014/05/19 Javascript
基于JavaScript FileReader上传图片显示本地链接
2016/05/27 Javascript
移动端 一个简单易懂的弹出框
2016/07/06 Javascript
AngularJS监听路由的变化示例代码
2016/09/23 Javascript
Bootstrap基本插件学习笔记之轮播幻灯片(23)
2016/12/08 Javascript
浅谈箭头函数写法在ReactJs中的使用
2017/08/22 Javascript
DVA框架统一处理所有页面的loading状态
2017/08/25 Javascript
微信小程序选择图片和放大预览图片功能
2017/11/02 Javascript
react-router v4如何使用history控制路由跳转详解
2018/01/09 Javascript
解决VUE中document.body.scrollTop为0的问题
2018/09/15 Javascript
vuex的module模块用法示例
2018/11/12 Javascript
详解Vue.js v-for不支持IE9的解决方法
2018/12/29 Javascript
jqGrid表格底部汇总、合计行footerrow处理
2019/08/21 Javascript
微信小程序实现图片翻转效果的实例代码
2019/09/20 Javascript
分享Python字符串关键点
2015/12/13 Python
python 3利用Dlib 19.7实现摄像头人脸检测特征点标定
2018/02/26 Python
Python使用zip合并相邻列表项的方法示例
2018/03/17 Python
Python图像处理之图像的缩放、旋转与翻转实现方法示例
2019/01/04 Python
基于pygame实现童年掌机打砖块游戏
2020/02/25 Python
解决python 在for循环并且pop数组的时候会跳过某些元素的问题
2020/12/11 Python
澳洲小众品牌的集合网站:BNKR
2018/02/23 全球购物
Joseph官网:英国小众奢侈品牌
2019/05/17 全球购物
致跳远运动员加油稿
2014/02/11 职场文书
少先队学雷锋活动总结范文
2014/03/09 职场文书
年会主持词结束语
2014/03/27 职场文书
2015年元旦主持词结束语
2014/12/14 职场文书
信仰观后感
2015/06/03 职场文书
技术入股协议书
2016/03/22 职场文书
源码分析Redis中 set 和 sorted set 的使用方法
2022/03/22 Redis
Vue+TypeScript中处理computed方式
2022/04/02 Vue.js
Nginx报404错误的详细解决方法
2022/07/23 Servers