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 相关文章推荐
javascript实现轮显新闻标题链接
Aug 13 Javascript
js中arguments的用法(实例讲解)
Nov 30 Javascript
用jquery写的菜单从左往右滑动出现
Apr 11 Javascript
使用typeof判断function是否存在于上下文
Aug 14 Javascript
jQuery实现页面点击后退弹出提示框的方法
Aug 24 Javascript
js中获取键盘事件的简单实现方法
Oct 10 Javascript
AngularJS实现的JSONP跨域访问数据传输功能详解
Jul 20 Javascript
详解A标签中href=&quot;&quot;的几种用法
Aug 20 Javascript
浅谈 Vue 项目优化的方法
Dec 16 Javascript
vue js秒转天数小时分钟秒的实例代码
Aug 08 Javascript
泛谈JS逻辑判断选择器 || &amp;&amp;
May 24 Javascript
微信小程序 授权登录详解(附完整源码)
Aug 23 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
《心理测量者3》剧场版动画预告
2020/03/02 日漫
php xml文件操作代码(一)
2009/03/20 PHP
解析dedeCMS验证码的实现代码
2013/06/07 PHP
smarty模板引擎之分配数据类型
2015/03/30 PHP
phpmyadmin下载、安装、配置教程
2017/05/16 PHP
jQuery选中select控件 无法设置selected的解决方法
2010/09/01 Javascript
通过Jquery遍历Json的两种数据结构的实现代码
2011/01/19 Javascript
调试Node.JS的辅助工具(NodeWatcher)
2012/01/04 Javascript
js自动查找select下拉的菜单并选择(示例代码)
2014/02/26 Javascript
Javascript实现鼠标右键特色菜单
2015/08/04 Javascript
js实时获取窗口大小变化的实例代码
2016/11/18 Javascript
Web纯前端“旭日图”实现元素周期表
2017/03/10 Javascript
在ABP框架中使用BootstrapTable组件的方法
2017/07/31 Javascript
jquery实现倒计时小应用
2017/09/19 jQuery
Nodejs 和 Electron ubuntu下快速安装过程
2018/05/04 NodeJs
JS实现Cookie读、写、删除操作工具类示例
2018/08/28 Javascript
总结javascript三元运算符知识点
2018/09/28 Javascript
Vant的安装和配合引入Vue.js项目里的方法步骤
2018/12/05 Javascript
Vue+axios封装请求实现前后端分离
2020/10/23 Javascript
Vue2.0 ES6语法降级ES5的操作
2020/10/30 Javascript
python实现停车管理系统
2018/11/30 Python
详解Python读取yaml文件多层菜单
2019/03/23 Python
django admin组件使用方法详解
2019/07/19 Python
PYQT5开启多个线程和窗口,多线程与多窗口的交互实例
2019/12/13 Python
pytorch 获取tensor维度信息示例
2020/01/03 Python
Jupyter Notebook远程登录及密码设置操作
2020/04/10 Python
如何使用python切换hosts文件
2020/04/29 Python
如何利用python读取micaps文件详解
2020/10/18 Python
类的核心特性有哪些
2014/01/01 面试题
研究生求职推荐信范文
2013/11/30 职场文书
学校大课间活动方案
2014/01/30 职场文书
五型班组建设方案
2014/02/10 职场文书
运动会方队口号
2014/06/07 职场文书
销售员试用期自我评价
2014/09/15 职场文书
2014年社区卫生工作总结
2014/12/18 职场文书
MySQL的InnoDB存储引擎的数据页结构详解
2022/03/03 MySQL