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跨域和ajax 跨域问题的实现思路
Sep 05 Javascript
IE和Firefox之间在JavaScript语法上的差异
Apr 22 Javascript
基于Bootstrap重置输入框内容按钮插件
May 12 Javascript
javascript的replace方法结合正则使用实例总结
Jun 16 Javascript
JS中双击和单击事件冲突的解决方法
Apr 09 Javascript
JS实现根据指定值删除数组中的元素操作示例
Aug 02 Javascript
vue全局使用axios的方法实例详解
Nov 22 Javascript
JavaScript中filter的用法实例分析
Feb 27 Javascript
微信小程序基础教程之worker线程的使用方法
Jul 15 Javascript
在Vue mounted方法中使用data变量详解
Nov 05 Javascript
Vue过渡效果之CSS过渡详解(结合transition,animation,animate.css)
Feb 05 Javascript
vue项目接口管理,所有接口都在apis文件夹中统一管理操作
Aug 13 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
模板引擎Smarty深入浅出介绍
2006/12/06 PHP
PHP自动生成表单代码分享
2015/06/19 PHP
PHP基于yii框架实现生成ICO图标
2015/11/13 PHP
js实现在字符串中提取数字
2013/11/05 Javascript
jquery获取对象的方法足以应付常见的各种类型的对象
2014/05/14 Javascript
JavaScript中九种常用排序算法
2014/09/02 Javascript
什么是MEAN?JavaScript编程中的MEAN是什么意思?
2014/12/18 Javascript
JavaScript数组对象实现增加一个返回随机元素的方法
2015/07/27 Javascript
jquery获取url参数及url加参数的方法
2015/10/26 Javascript
[原创]Javascript 实现广告后加载 可加载百度谷歌联盟广告
2016/05/11 Javascript
JS简单测试循环运行时间的方法
2016/09/04 Javascript
jQuery的deferred对象使用详解
2016/09/25 Javascript
Angular表单验证实例详解
2016/10/20 Javascript
第一次接触神奇的前端框架vue.js
2016/12/01 Javascript
JS中闭包的经典用法小结(2则示例)
2016/12/28 Javascript
layui弹出层效果实现代码
2017/05/19 Javascript
JS实现的新闻列表自动滚动效果示例
2019/01/30 Javascript
详解Vue-cli3.X使用px2rem遇到的问题
2019/08/09 Javascript
nodejs中使用archive压缩文件的实现代码
2019/11/26 NodeJs
Vue的双向数据绑定实现原理解析
2020/02/17 Javascript
Bootstrap实现前端登录页面带验证码功能完整示例
2020/03/26 Javascript
JavaScript中ES6规范中let和const的用法和区别
2020/08/06 Javascript
Python的__builtin__模块中的一些要点知识
2015/05/02 Python
基于Python 的进程管理工具supervisor使用指南
2016/09/18 Python
python 寻找优化使成本函数最小的最优解的方法
2017/12/28 Python
python发送多人邮件没有展示收件人问题的解决方法
2019/06/21 Python
Windows 下python3.8环境安装教程图文详解
2020/03/11 Python
Tensorflow中批量读取数据的案列分析及TFRecord文件的打包与读取
2020/06/30 Python
python 实现简易的记事本
2020/11/30 Python
俄罗斯宠物用品网上商店:ZooMag
2019/12/12 全球购物
酒店中秋节活动方案
2014/01/31 职场文书
护士长2014年终工作总结
2014/11/11 职场文书
教您怎么制定西餐厅运营方案 ?
2019/07/05 职场文书
开发一个封装iframe的vue组件
2021/03/29 Vue.js
Mysql服务添加 iptables防火墙策略的方案
2021/04/29 MySQL
解决golang post文件时Content-Type出现的问题
2021/05/02 Golang