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 getElementsByName()的用法说明
Jul 31 Javascript
extjs关于treePanel+chekBox全部选中以及清空选中问题探讨
Apr 02 Javascript
JavaScript中继承用法实例分析
May 16 Javascript
javascript 应用小技巧方法汇总
Jul 05 Javascript
jQuery时间轴插件使用详解
Jul 16 Javascript
jQuery中hover与mouseover和mouseout的区别分析
Dec 24 Javascript
Webpack 实现 AngularJS 的延迟加载
Mar 02 Javascript
javascript滚轮控制模拟滚动条
Oct 19 Javascript
node.js学习笔记之koa框架和简单爬虫练习
Dec 13 Javascript
vue 实现单选框设置默认选中值
Nov 07 Javascript
vue实现瀑布流组件滑动加载更多
Mar 10 Javascript
js this 绑定机制深入详解
Apr 30 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
在“咖啡之国”感受咖啡文化
2021/03/03 咖啡文化
PHP中常用数组处理方法实例分析
2008/08/30 PHP
使用JSON实现数据的跨域传输的php代码
2011/12/20 PHP
ThinkPHP实现事务回滚示例代码
2014/06/23 PHP
利用PHP函数计算中英文字符串长度的方法
2014/11/11 PHP
php通过array_push()函数添加多个变量到数组末尾的方法
2015/03/18 PHP
PHP实现对png图像进行缩放的方法(支持透明背景)
2015/07/15 PHP
js url传值中文乱码之解决之道
2009/11/20 Javascript
图像替换新技术 状态域方法
2010/01/28 Javascript
不用构造函数(Constructor)new关键字也能实现JavaScript的面向对象
2013/01/11 Javascript
用jQuery实现一些导航条切换,显示隐藏的实例代码
2013/06/08 Javascript
JavaScript简单下拉菜单特效
2016/09/13 Javascript
用jQuery实现圆点图片轮播效果
2017/03/19 Javascript
vue实现树形菜单效果
2018/03/19 Javascript
Vue中v-show添加表达式的问题(判断是否显示)
2018/03/26 Javascript
使用python itchat包爬取微信好友头像形成矩形头像集的方法
2019/02/21 Python
Python3实现二叉树的最大深度
2019/09/30 Python
Django admin 实现search_fields精确查询实例
2020/03/30 Python
Python插件机制实现详解
2020/05/04 Python
pyMySQL SQL语句传参问题,单个参数或多个参数说明
2020/06/06 Python
CSS3自定义滚动条样式 ::webkit-scrollbar的示例代码详解
2020/06/01 HTML / CSS
迪卡侬印度官网:购买所有体育用品
2017/06/24 全球购物
台湾屈臣氏网路商店:Watsons台湾
2020/12/29 全球购物
致短跑运动员广播稿
2014/01/09 职场文书
骨干教师培训制度
2014/01/13 职场文书
生日宴会主持词
2014/03/20 职场文书
绿色家庭事迹材料
2014/05/01 职场文书
中等生评语大全
2014/05/04 职场文书
放飞梦想演讲稿600字
2014/08/26 职场文书
2014市国税局对照检查材料思想汇报
2014/09/23 职场文书
软弱涣散基层党组织整改方案
2014/10/25 职场文书
北京英语导游词
2015/02/12 职场文书
2015年业务员工作总结范文
2015/04/07 职场文书
开会通知短信大全
2015/04/20 职场文书
2015秋学期开学寄语
2015/05/28 职场文书
Centos7中MySQL数据库使用mysqldump进行每日自动备份的编写
2021/08/02 MySQL