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 相关文章推荐
jQuery中将函数赋值给变量的调用方法
Mar 23 Javascript
JavaScript阻止浏览器返回按钮的方法
Mar 18 Javascript
微信小程序 for 循环详解
Oct 09 Javascript
浅谈Vue网络请求之interceptors实际应用
Feb 28 Javascript
详解Webpack多环境代码打包的方法
Aug 03 Javascript
angularJS1 url中携带参数的获取方法
Oct 09 Javascript
js实现类似iphone的网页滑屏解锁功能示例【附源码下载】
Jun 10 Javascript
layer.prompt使文本框为空的情况下也能点击确定的方法
Sep 24 Javascript
Vue.js组件props数据验证实现详解
Oct 19 Javascript
vuex分模块后,实现获取state的值
Jul 26 Javascript
基于JavaScript实现随机点名器
Feb 25 Javascript
Ajax常用封装库——Axios的使用
May 08 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插件 HTMLPurifier HTML解析器
2013/07/01 PHP
thinkphp路由规则使用示例详解和伪静态功能实现(apache重写)
2014/02/24 PHP
php常用字符串比较函数实例汇总
2014/11/24 PHP
mac系统下安装多个php并自由切换的方法详解
2017/04/21 PHP
jquery select下拉框操作的一些说明
2010/04/02 Javascript
javascript正则表达式总结
2016/02/29 Javascript
JavaScript html5 canvas绘制时钟效果
2016/03/01 Javascript
原生js实现自由拖拽弹窗代码demo
2016/06/29 Javascript
jQuery 常见小例汇总
2016/12/14 Javascript
Java与JavaScript中判断两字符串是否相等的区别
2017/03/13 Javascript
JavaScript调用模式与this关键字绑定的关系
2018/04/21 Javascript
JavaScript实现的弹出遮罩层特效经典示例【基于jQuery】
2019/07/10 jQuery
layui prompt 设置允许空白提交的方法
2019/09/24 Javascript
webpack常用构建优化策略小结
2019/11/21 Javascript
ant-design表单处理和常用方法及自定义验证操作
2020/10/27 Javascript
js制作提示框插件
2020/12/24 Javascript
[03:00]《DAC最前线》之欧美新秀VS老将
2015/02/01 DOTA
[32:30]夜魇凡尔赛茶话会 第一期01:谁是卧底
2021/03/11 DOTA
python 生成不重复的随机数的代码
2011/05/15 Python
Python实现字符串逆序输出功能示例
2017/06/24 Python
python三引号输出方法
2019/02/27 Python
Python实现微信消息防撤回功能的实例代码
2019/04/29 Python
Python3 Tkinter选择路径功能的实现方法
2019/06/14 Python
python爬虫项目设置一个中断重连的程序的实现
2019/07/26 Python
python pycharm最新版本激活码(永久有效)附python安装教程
2020/09/18 Python
Clarks鞋澳大利亚官方网站:Clarks Australia
2019/12/25 全球购物
用JAVA SOCKET编程,读服务器几个字符,再写入本地显示
2012/11/25 面试题
机关作风整顿个人剖析材料
2014/10/06 职场文书
思想纪律作风整顿剖析材料
2014/10/11 职场文书
2015年学校安全管理工作总结
2015/05/11 职场文书
《确定位置》教学反思
2016/02/18 职场文书
Go语言中的UTF-8实现
2021/04/26 Golang
pandas:get_dummies()与pd.factorize()的用法及区别说明
2021/05/21 Python
Pytorch中Softmax和LogSoftmax的使用详解
2021/06/05 Python
PHP中多字节字符串操作实例详解
2021/08/23 PHP
MySQL控制流函数(-if ,elseif,else,case...when)
2022/07/07 MySQL