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 最近浏览过的商品的功能实现代码
May 14 Javascript
JavaScript 上万关键字瞬间匹配实现代码
Jul 07 Javascript
使用js的replace()方法查找字符示例代码
Oct 28 Javascript
checkbox全选所涉及到的知识点介绍
Dec 31 Javascript
js中传递特殊字符(+,&amp;)的方法
Jan 16 Javascript
js+div实现图片滚动效果代码
Feb 10 Javascript
js获取html的span标签的值方法(超简单)
Jul 26 Javascript
vuex中使用对象展开运算符的示例
Sep 25 Javascript
原生JS实现的跳一跳小游戏完整实例
Jan 27 Javascript
详解小程序毫秒级倒计时(适用于拼团秒杀功能)
May 05 Javascript
vue+elementUi图片上传组件使用详解
Aug 20 Javascript
JS pushlet XMLAdapter适配器用法案例解析
Oct 16 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读取ACCESS数据到MYSQL的代码
2011/05/11 PHP
PHP创建XML接口示例
2019/07/04 PHP
8个超棒的学习 jQuery 的网站 推荐收藏
2011/04/02 Javascript
基于jQuery实现左右div自适应高度完全相同的代码
2012/08/09 Javascript
jQuery学习笔记之jQuery原型属性和方法
2014/06/09 Javascript
js正则表达式验证邮件地址
2015/11/12 Javascript
使用pcs api往免费的百度网盘上传下载文件的方法
2016/03/17 Javascript
Bootstrap3使用typeahead插件实现自动补全功能
2016/07/07 Javascript
AngularJS自定义控件实例详解
2016/12/13 Javascript
微信小程序访问node.js接口服务器搭建教程
2017/04/25 Javascript
node.js中fs.stat与fs.fstat的区别详解
2017/06/01 Javascript
JS基于递归实现网页版计算器的方法分析
2017/12/20 Javascript
Nodejs连接mysql并实现增、删、改、查操作的方法详解
2018/01/04 NodeJs
jQuery子选择器与可见性选择器实例分析
2019/06/28 jQuery
使用JavaScript获取Django模板指定键值数据
2020/05/27 Javascript
[27:28]Ti4 冒泡赛第二天 iG vs NEWBEE 1
2014/07/15 DOTA
Python中设置变量访问权限的方法
2015/04/27 Python
Python使用urllib2模块实现断点续传下载的方法
2015/06/17 Python
Python环境搭建之OpenCV的步骤方法
2017/10/20 Python
Python基础练习之用户登录实现代码分享
2017/11/08 Python
Python批量提取PDF文件中文本的脚本
2018/03/14 Python
selenium+python实现自动登录脚本
2018/04/22 Python
python如何实现一个刷网页小程序
2018/11/27 Python
pandas dataframe的合并实现(append, merge, concat)
2019/06/24 Python
Python入门Anaconda和Pycharm的安装和配置详解
2019/07/16 Python
HTML5 在canvas中绘制文本附效果图
2014/06/23 HTML / CSS
新加坡最受追捧的体验平台:Hapz
2018/01/01 全球购物
中国专业的音频分享平台:喜马拉雅
2019/05/24 全球购物
意大利奢侈品购物网站:Deliberti
2019/10/08 全球购物
关于.NET, HTML的五个问题
2012/08/29 面试题
Java模拟试题
2014/11/10 面试题
学校安全工作制度
2014/01/19 职场文书
人事部岗位职责范本
2014/03/05 职场文书
法院答辩状格式
2015/05/22 职场文书
Vue Element UI自定义描述列表组件
2021/05/18 Vue.js
mysql外连接与内连接查询的不同之处
2021/06/03 MySQL