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 相关文章推荐
JavaScript 输入框内容格式验证代码
Feb 11 Javascript
JS将光标聚焦在文本最后的实现代码
Mar 28 Javascript
用简洁的jQuery方法toggleClass实现隔行换色
Oct 22 Javascript
浅析Javascript中“==”与“===”的区别
Dec 23 Javascript
fullpage.js全屏滚动插件使用实例
Sep 06 Javascript
jQuery快速实现商品数量加减的方法
Feb 06 Javascript
JavaScript的继承实现小结
May 07 Javascript
关于javascript作用域的常见面试题分享
Jun 18 Javascript
JQuery EasyUI的一些常用组件
Jul 12 jQuery
vue-cli构建项目使用 less的方法
Oct 04 Javascript
微信小程序 多行文本显示...+显示更多按钮和收起更多按钮功能
Sep 26 Javascript
如何用JavaScript检测当前浏览器是无头浏览器
Apr 27 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
vs中通过剪切板循环来循环粘贴不同内容
2011/04/30 PHP
PHP 第二节 数据类型之字符串类型
2012/04/28 PHP
PHP中多维数组的foreach遍历示例
2014/06/13 PHP
[原创]PHP实现SQL语句格式化功能的方法
2017/07/28 PHP
一个tab标签切换效果代码
2009/03/27 Javascript
javascript 写类方式之十
2009/07/05 Javascript
JavaScript 函数式编程的原理
2009/10/16 Javascript
Seajs的学习笔记
2014/03/04 Javascript
JavaScript插件化开发教程 (二)
2015/01/27 Javascript
react-router4 嵌套路由的使用方法
2017/07/24 Javascript
jQuery获取table表中的td标签(实例讲解)
2017/07/28 jQuery
electron制作仿制qq聊天界面的示例代码
2018/11/26 Javascript
koa大型web项目中使用路由装饰器的方法示例
2019/04/02 Javascript
vue19 组建 Vue.extend component、组件模版、动态组件 的实例代码
2019/04/04 Javascript
vue实现手机号码的校验实例代码(防抖函数的应用场景)
2019/09/05 Javascript
Angular之jwt令牌身份验证的实现
2020/02/14 Javascript
Vue打包部署到Nginx时,css样式不生效的解决方式
2020/08/03 Javascript
一篇文章看懂JavaScript中的回调
2021/01/05 Javascript
python的绘图工具matplotlib使用实例
2014/07/03 Python
python中pycurl库的用法实例
2014/09/30 Python
Python中实现常量(Const)功能
2015/01/28 Python
python socket多线程通讯实例分析(聊天室)
2016/04/06 Python
Python模块包中__init__.py文件功能分析
2016/06/14 Python
浅析python继承与多重继承
2018/09/13 Python
python将txt文件读入为np.array的方法
2018/10/30 Python
历史学专业个人的自我评价
2013/10/13 职场文书
大学生毕业自我鉴定
2013/11/06 职场文书
春游踏青活动方案
2014/08/14 职场文书
机械制造专业大学生自我鉴定
2014/09/19 职场文书
大学生自荐信范文
2015/03/05 职场文书
大国崛起英国观后感
2015/06/02 职场文书
关于应聘教师的自荐信
2016/01/28 职场文书
Python学习开发之图形用户界面详解
2021/08/23 Python
python 单机五子棋对战游戏
2022/04/28 Python
SQL Server中使用表变量和临时表
2022/05/20 SQL Server
el-table-column 内容不自动换行的解决方法
2022/08/14 Vue.js