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 相关文章推荐
一实用的实现table排序的Javascript类库
Sep 12 Javascript
关于document.cookie的使用javascript
Oct 29 Javascript
使用js判断数组中是否包含某一元素(类似于php中的in_array())
Dec 12 Javascript
javascript制作网页图片上实现下雨效果
Feb 26 Javascript
jQuery插件jcrop+Fileapi完美实现图片上传+裁剪+预览的代码分享
Apr 22 Javascript
微信小程序 http请求详细介绍
Oct 09 Javascript
js canvas实现擦除效果示例代码
Apr 26 Javascript
JavaScript阻止表单提交方法(附代码)
Aug 15 Javascript
Vue2仿淘宝实现省市区三级联动
Apr 15 Javascript
Vue项目中使用better-scroll实现菜单映射功能方法
Sep 11 Javascript
Vue通过配置WebSocket并实现群聊功能
Dec 31 Javascript
js实现动态时钟
Mar 12 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 Stream_*系列函数
2010/08/01 PHP
php防攻击代码升级版
2010/12/29 PHP
php将远程图片保存到本地服务器的实现代码
2015/08/03 PHP
php使用APC实现实时上传进度条功能
2015/10/26 PHP
laravel migrate初学常见错误的解决方法
2017/10/11 PHP
编写跨浏览器的javascript代码必备[js多浏览器兼容写法]
2008/10/29 Javascript
event.X和event.clientX的区别分析
2011/10/06 Javascript
深入领悟JavaScript中的面向对象
2013/11/18 Javascript
JS实现跟随鼠标立体翻转图片的方法
2015/05/04 Javascript
jquery预加载图片的方法
2015/05/27 Javascript
jQuery+html5+css3实现圆角无刷新表单带输入验证功能代码
2015/08/21 Javascript
Javascript 6里的4个新语法
2016/08/25 Javascript
Json对象和字符串互相转换json数据拼接和JSON使用方式详细介绍(小结)
2016/10/25 Javascript
Angularjs 实现动态添加控件功能
2017/05/25 Javascript
解决vue.js在编写过程中出现空格不规范报错的问题
2017/09/20 Javascript
详解为Bootstrap Modal添加拖拽的方法
2018/01/05 Javascript
使用 vue.js 构建大型单页应用
2018/02/10 Javascript
vue 中filter的多种用法
2018/04/26 Javascript
JavaScript实现小球沿正弦曲线运动
2020/09/07 Javascript
Bootstrap实现省市区三级联动(亲测可用)
2019/07/26 Javascript
Python中内置数据类型list,tuple,dict,set的区别和用法
2015/12/14 Python
python执行系统命令后获取返回值的几种方式集合
2018/05/12 Python
不知道这5种下划线的含义,你就不算真的会Python!
2018/10/09 Python
pycharm工具连接mysql数据库失败问题
2020/04/01 Python
django中related_name的用法说明
2020/05/20 Python
卫校中专生个人自我评价
2013/09/19 职场文书
金融行业职业生涯规划范文
2014/01/17 职场文书
法律专业学生的自我评价
2014/02/07 职场文书
班班通项目实施方案
2014/02/25 职场文书
旅游管理毕业生自荐信范文
2014/03/19 职场文书
勤俭节约倡议书
2014/04/14 职场文书
医院竞聘演讲稿
2014/05/16 职场文书
群众路线教育实践活动总结
2014/10/30 职场文书
事业单位工作人员年度考核个人总结
2015/02/12 职场文书
客户经理岗位职责大全
2015/04/09 职场文书
大学军训口号大全
2015/12/24 职场文书