JS仿hao123导航页面图片轮播效果


Posted in Javascript onSeptember 01, 2016

hao123网站大家都很熟悉吧,具体的效果不用我多说吧,感兴趣的朋友可以去参考效果图,下面小编给大家分享下实现代码思路,当然大家可以根据需求适当的添加修改删除代码。

关键代码如下所示:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>图片轮播</title>
<style>
.warp{
width: 600px;
height: 750px;
position: relative;
margin:30px auto 0;
overflow: hidden;
}
#box{
width: 600px;
height: 750px;
position: absolute;
top: 0px;
left: 0px;
overflow: hidden;
/*overflow-x:auto;*/
}
#box #con{
width: 6000px;
height: 750px;
overflow: hidden;
}
#con img{
float: left;
width: 600px;
height: 750px;
}
#btnL{
position: absolute;
left: 0px;
top: 366px;
width: 36px;
height: 36px;
background: url(images/btnL.png) 0 0 no-repeat;
cursor: pointer;
}
#btnR{
position: absolute;
right: 0px;
top: 366px;
width: 36px;
height: 36px;
background: url(images/btnR.png) 0 0 no-repeat;
cursor: pointer;
}
#num{
position: absolute;
bottom: 10px;
left: 148px;
overflow: hidden;
list-style: none;
}
#num li{
float: left;
margin:0 5px;
font-size: 16px;
line-height: 25px;
height: 25px;
width: 25px;
background: #ccc;
text-align: center;
cursor: pointer;
}
#num li.select{
background-color: green;
color: white;
}
</style>
</head>
<body>
<div class="warp">
<div id="box">
<div id="con">
<img src="images/meinv1.jpg" alt="">
<img src="images/meinv2.jpg" alt="">
<img src="images/meinv3.jpg" alt="">
<img src="images/meinv4.jpg" alt="">
<img src="images/meinv5.jpg" alt="">
<img src="images/meinv6.jpg" alt="">
</div>
</div>
<div id="btnL"></div>
<div id="btnR"></div>
<ul id="num">
<li class="select">1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
<li>6</li>
</ul>
</div>
<script>
var box=document.getElementById('box');
var con=document.getElementById('con');
var imgs=con.getElementsByTagName('img');
var btnL=document.getElementById('btnL');
var btnR=document.getElementById('btnR');
var num=document.getElementById('num');
var lis=num.getElementsByTagName('li');
var timer1=null,timer2=null;
var imgw=imgs[0].clientWidth;
var x=0;
function imgScroll(){//图片切换
var start=box.scrollLeft;
var end=imgw*x;
var change=end-start;
var minstep=0;
var maxstep=30;
var stepLength=change/maxstep;
clearInterval(timer2);
timer2=setInterval(function(){
minstep++;
// console.log(minstep);
if (minstep>=maxstep) {
clearInterval(timer2);
}
start+=stepLength;
box.scrollLeft=start;
},20) 
for (var i = 0; i < lis.length; i++) {
lis[i].className='none';
}
lis[x].className='select';
}
function move(){//默认向左每隔3s滚动
clearInterval(timer1);
timer1=setInterval(function(){
x++;
if (x>=imgs.length) {
x=0;
}
imgScroll();
for (var i = 0; i < lis.length; i++) {
lis[i].className='none';
lis[x].className='select';
}
},3000);
}
move();//启动默认滚动函数;
btnR.onclick=function(){
clearInterval(timer1);
x++;
if (x>=imgs.length) {
x=0;
}
imgScroll();
move();
}
btnL.onclick=function(){
clearInterval(timer1);
x--;
if (x<0) {
x=imgs.length-1;
}
imgScroll();
move();
}
for (var i = 0; i < lis.length; i++) {
lis[i].index=i;
lis[i].onclick=function(){
x=this.index;
imgScroll();
move();
}
}
</script>
</body>
</html>

以上所述是小编给大家介绍的JS仿hao123导航页面图片轮播效果,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
网站被黑的假象--ARP欺骗之页面中加入一段js
May 16 Javascript
用document.documentElement取代document.body的原因分析
Nov 12 Javascript
js DOM的学习笔记
Dec 22 Javascript
JS控件的生命周期介绍
Oct 22 Javascript
AngularJS入门心得之directive和controller通信过程
Jan 25 Javascript
使用PHP+JavaScript将HTML页面转换为图片的实例分享
Apr 18 Javascript
jQuery实现的鼠标经过时变宽的效果(附demo源码)
Apr 28 Javascript
JS动态计算移动端rem的解决方案
Oct 14 Javascript
js将当前时间格式化为 年-月-日 时:分:秒的实现代码
Jan 20 Javascript
深入理解JavaScript的async/await
Aug 05 Javascript
vue-test-utils初使用详解
May 23 Javascript
分享JS表单验证源码(带错误提示及密码等级)
Jan 05 Javascript
javaScript如何跳出多重循环break、continue
Sep 01 #Javascript
AngularJs bootstrap详解及示例代码
Sep 01 #Javascript
JavaScript数据类型学习笔记分享
Sep 01 #Javascript
js实现文字超出部分用省略号代替实例代码
Sep 01 #Javascript
纯js和css完成贪吃蛇小游戏demo
Sep 01 #Javascript
在web中js实现类似excel的表格控件
Sep 01 #Javascript
Javascript点击按钮随机改变数字与其颜色
Sep 01 #Javascript
You might like
PHP中iconv函数转码时截断字符问题的解决方法
2015/01/21 PHP
php 判断IP为有效IP地址的方法
2018/01/28 PHP
Javascript 类型转换方法
2010/10/24 Javascript
输入自动提示搜索提示功能的javascript:sugggestion.js
2013/09/02 Javascript
jQuery学习总结之jQuery事件
2014/06/30 Javascript
深入理解JavaScript系列(41):设计模式之模板方法详解
2015/03/04 Javascript
网页前端登录js按Enter回车键实现登陆的两种方法
2016/05/10 Javascript
jQuery获取访问者IP地址的方法(基于新浪API与QQ查询接口)
2016/05/25 Javascript
Bootstrap面板使用方法
2017/01/16 Javascript
vue-router路由与页面间导航实例解析
2017/11/07 Javascript
vue2.0父子组件间传递数据的方法
2018/08/16 Javascript
vuex根据不同的用户权限展示不同的路由列表功能
2019/09/20 Javascript
王纯业的Python学习笔记 下载
2007/02/10 Python
Python中函数的参数传递与可变长参数介绍
2015/06/30 Python
教大家玩转Python字符串处理的七种技巧
2017/03/31 Python
python处理Excel xlrd的简单使用
2017/09/12 Python
python实现随机梯度下降(SGD)
2020/03/24 Python
python解析命令行参数的三种方法详解
2019/11/29 Python
python GUI库图形界面开发之PyQt5简单绘图板实例与代码分析
2020/03/08 Python
Python Scrapy多页数据爬取实现过程解析
2020/06/12 Python
Herve Leger官网:标志性绷带连衣裙等
2018/12/26 全球购物
希腊香水和化妆品购物网站:Parfimo.gr
2019/10/03 全球购物
编辑找工作求职信范文
2013/12/16 职场文书
亲戚结婚的请假条
2014/02/11 职场文书
有兼职工作经历的简历自我评价
2014/03/07 职场文书
经典婚礼主持词
2014/03/13 职场文书
关于读书的活动方案
2014/08/14 职场文书
2014年向国旗敬礼活动总结
2014/09/27 职场文书
学生不讲诚信检讨书
2014/09/29 职场文书
2014年环卫工作总结
2014/11/22 职场文书
村党组织公开承诺书
2015/04/30 职场文书
springboot临时文件存储目录配置方式
2021/07/01 Java/Android
Redis 彻底禁用RDB持久化操作
2021/07/09 Redis
基于Python实现射击小游戏的制作
2022/04/06 Python
Mac电脑OS系统下安装Nginx的详细教程
2022/04/14 Servers
JS高级程序设计之class继承重点详解
2022/07/07 Javascript