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 相关文章推荐
通过js脚本复制网页上的一个表格的不错实现方法
Dec 29 Javascript
用jQuery简化JavaScript开发分析
Feb 19 Javascript
JQuery 初体验(建议学习jquery)
Apr 25 Javascript
jquery ui resizable bug解决方法
Oct 26 Javascript
cookie的复制与使用记住用户名实现代码
Nov 04 Javascript
jQuery基础知识点总结(DOM操作)
Jun 01 Javascript
ES6新特征数字、数组、字符串
Oct 01 Javascript
js判断浏览器是否支持严格模式的方法
Oct 04 Javascript
js倒计时小实例(多次定时)
Dec 08 Javascript
vue 2.0项目中如何引入element-ui详解
Sep 06 Javascript
BootStrap表单验证中的非Submit类型按钮点击时触发验证的坑
Sep 05 Javascript
JavaScript运行机制实例分析
Apr 11 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学习 函数 课件
2008/06/15 PHP
探讨方法的重写(覆载)详解
2013/06/08 PHP
PHP上传图片进行等比缩放可增加水印功能
2014/01/13 PHP
php使用正则过滤js脚本代码实例
2014/05/10 PHP
浅析php单例模式
2014/11/25 PHP
Yii2 加载css、js 载静态资源的方法
2017/03/10 PHP
在laravel中使用Symfony的Crawler组件分析HTML
2017/06/19 PHP
Laravel框架实现简单的学生信息管理平台案例
2019/05/07 PHP
jquery 表格分页等操作实现代码(pagedown,pageup)
2010/04/11 Javascript
jQuery中将函数赋值给变量的调用方法
2012/03/23 Javascript
网页防止tab键的使用快速解决方法
2013/11/07 Javascript
jquery(hide方法)隐藏指定元素实例
2013/11/11 Javascript
jQuery中:disabled选择器用法实例
2015/01/04 Javascript
JavaScript调用浏览器打印功能实例分析
2015/07/17 Javascript
jQuery ajax应用总结
2016/06/02 Javascript
jQuery操作复选框(CheckBox)的取值赋值实现代码
2017/01/10 Javascript
Angular2利用组件与指令实现图片轮播组件
2017/03/27 Javascript
vue.js组件vue-waterfall-easy实现瀑布流效果
2017/08/22 Javascript
JavaScript实现简单动态进度条效果
2018/04/06 Javascript
微信小程序实现底部弹出模态框
2020/11/18 Javascript
vue+echarts实现中国地图流动效果(步骤详解)
2021/01/27 Vue.js
python3图片转换二进制存入mysql
2013/12/06 Python
Python基于更相减损术实现求解最大公约数的方法
2018/04/04 Python
PyCharm第一次安装及使用教程
2020/01/08 Python
在PyTorch中使用标签平滑正则化的问题
2020/04/03 Python
毕业生求职找工作的自我评价范文
2013/11/27 职场文书
化工专业个人的求职信范文
2013/11/28 职场文书
《珍珠泉》教学反思
2014/02/20 职场文书
《影子》教学反思
2014/02/21 职场文书
村干部群众路线整改措施思想汇报
2014/10/12 职场文书
2014年扫黄打非工作总结
2014/12/03 职场文书
2015年教师新年寄语
2014/12/08 职场文书
水电工岗位职责
2015/02/14 职场文书
2015年六一儿童节活动方案
2015/05/05 职场文书
如何书写邀请函?
2019/06/24 职场文书
微信小程序实现拍照和相册选取图片
2021/05/09 Javascript