JS下拉缓冲菜单示例代码


Posted in Javascript onAugust 30, 2013
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<style> 
body,html,div,ul,li,span,img,a{ 
margin:0; 
padding:0; 
} 
a{ 
text-decoration:none; 
color:#000; 
font-weight:bold; 
width:150px; 
display:inline-block; 
text-align:center; 
} 
li{ 
list-style:none; 
} 
img{ 
width:0; 
height:0; 
outline:none; 
} 
#tab{ 
margin:200px 0 0 300px; 
} 
#tab li{ 
float:left; 
width:150px; 
height:50px; 
line-height:50px; 
position:relative; 
margin-right:30px; 
} 
#tab img.map,#tab span.content{ 
position:absolute; 
} 
#tab span.content{ 
background:#333; 
color:#FFF; 
font-size:14px; 
text-align:center; 
height:0; 
} 
#tab img.map{ 
left:50%; 
bottom:0; 
} 
</style> 
<title>JS下拉缓冲菜单_网页代码站()</title> 
</head> <body> 
<div id="tab"> 
<ul> 
<li style="background:url('/images/20130826/psb1.png')"> 
<a href="#">路飞</a> 
<img src="/jscss/demoimg/201210/psb1.jpg" class="map" /> 
<span class="content">草帽海贼团船长,特征是头戴草帽,天性乐观、热情、善良、天真、单纯。</span> 
</li> 
<li style="background:url('/images/20130826/psb1.png')"> 
<a href="#">索隆</a> 
<img src="/images/20130826/psb2.jpg" class="map" /> 
<span class="content">草帽海贼团剑士,绿色头发,左耳戴三只黄色露珠耳环,绿色的肚兜,路痴。</span> 
</li> 
<li style="background:url('/images/20130826/psb1.png')"> 
<a href="#">娜美</a> 
<img src="/jscss/demoimg/201210/psb3.jpg" class="map" /> 
<span class="content">精通气象学和航海术,擅长偷术、骗术、谈判及威胁恐吓,头脑聪明又机灵。</span> 
</li> 
<li style="background:url('/images/20130826/psb1.png')"> 
<a href="#">山治</a> 
<img src="/images/20130826/psb4.jpg" class="map" /> 
<span class="content">草帽海贼团厨师,金发,有着卷曲眉毛,永远遮住半边脸的家伙,海贼中的绅士。</span> 
</li> 
</ul> 
</div> 
<script type="text/javascript"> 
function kzxf_zoom(id) 
{ 
this.initialize.apply(this, arguments) 
} 
kzxf_zoom.prototype = 
{ 
initialize : function() 
{ 
var _this = this; 
this.wrapBox = document.getElementById('tab'); 
this.oLi = this.wrapBox.getElementsByTagName('li'); 
this.aImg = this.wrapBox.getElementsByTagName('img'); 
this.content = this.wrapBox.getElementsByTagName('span'); 
for(var i=0;i<this.oLi.length;i++) 
{ 
(function(i){ 
_this.oLi[i].onmouseover = function() 
{ 
_this.jump(_this.aImg[i], _this.content[i]); 
}; 
_this.oLi[i].onmouseout = function() 
{ 
_this.hidden(_this.aImg[i], _this.content[i]); 
}; 
})(i) 
} 
}, 
jump : function(obj1, obj2) 
{ 
var _this = this; 
_this.animation(obj1, {height:130, width:160, marginLeft:-78, marginTop:-128},function(){ 
_this.animation(obj1, {height:115, width:140, marginLeft:-70, marginTop:-115}, function(){ 
_this.animation(obj1, {height:120, width:150, marginLeft:-75, marginTop:-120}) 
}) 
}); 
_this.animation(obj2, {height:200}); 
}, 
hidden : function(obj1, obj2) 
{ 
var _this = this; 
_this.animation(obj1, {width:0, height:0, marginLeft:0, marginTop:0}); 
_this.animation(obj2, {height:0}); 
}, 
animation : function(obj, oAttr, fnCallBack) 
{ 
var _this = this; 
clearInterval(obj.timer); 
obj.timer = setInterval(function() 
{ 
var bStop = true; 
for(proper in oAttr) 
{ 
var iCur = parseFloat(_this.css(obj, proper)); 
proper == 'opacity' && (iCur = parseInt(iCur.toFixed(2) * 100)); 
var iSpeed = (oAttr[proper] - iCur) / 5; 
iSpeed = iSpeed > 0 ? Math.ceil(iSpeed) : Math.floor(iSpeed); 
if(iCur != oAttr[proper]) 
{ 
bStop = false; 
_this.css(obj, proper, iCur + iSpeed); 
} 
} 
if(bStop) 
{ 
clearInterval(obj.timer); 
fnCallBack && fnCallBack.apply(_this, arguments); 
} 
},20); 
}, 
css : function(obj, attr, value) 
{ 
if(arguments.length == 2) 
{ 
return obj.currentStyle ? obj.currentStyle[attr] : getComputedStyle(obj, null)[attr] 
} 
if(arguments.length == 3) 
{ 
switch(attr) 
{ 
case 'width' : 
case 'height' : 
case 'top' : 
case 'bottom' : 
case 'left' : 
case 'marginLeft': 
case 'marginTop': 
obj.style[attr] = value + 'px'; 
break; 
case 'opacity' : 
obj.style.filter = 'alpha(opacity = '+value+' )'; 
obj.style.opacity = value / 100; 
break; 
default : 
obj.style[attr] = value; 
break; 
} 
} 
} 
}; 
window.onload = function() 
{ 
new kzxf_zoom('tab') 
}; 
</script> 
<br /> 
http://user.qzone.qq.com/1198772766 
</body> 
</html>
Javascript 相关文章推荐
jquery 表单进行客户端验证demo
Aug 24 Javascript
js多级树形弹出一个小窗口层(非常好用)实例代码
Mar 19 Javascript
打印json对象的内容及JSON.stringify函数应用
Mar 29 Javascript
使用postMesssage()实现iframe跨域页面间的信息传递
Mar 29 Javascript
解决ajax不能访问本地文件问题(利用js跨域原理)
Jan 24 Javascript
JS中IP地址与整数相互转换的实现代码
Apr 10 Javascript
基于pako.js实现gzip的压缩和解压功能示例
Jun 13 Javascript
JS使用正则表达式找出最长连续子串长度
Oct 26 Javascript
layer.open提交子页面的form和layedit文本编辑内容的方法
Sep 27 Javascript
js中关于Blob对象的介绍与使用
Nov 29 Javascript
Vue组件模板及组件互相引用代码实例
Mar 11 Javascript
Paypal支付不完全指北
Jun 04 Javascript
JQuery 文本框回车跳到下一个文本框示例代码
Aug 30 #Javascript
JQuery设置文本框和密码框得到焦点时的样式
Aug 30 #Javascript
ComboBox 和 DateField 在IE下消失的解决方法
Aug 30 #Javascript
图片Slider 带左右按钮的js示例
Aug 30 #Javascript
javaScript 动态访问JSon元素示例代码
Aug 30 #Javascript
Jquery读取URL参数小例子
Aug 30 #Javascript
返回页面顶部top按钮通过锚点实现(自写)
Aug 30 #Javascript
You might like
一些 PHP 管理系统程序中的后门
2009/08/05 PHP
php基础学习之变量的使用
2011/06/09 PHP
PHP正则表达式之捕获组与非捕获组
2015/11/06 PHP
extjs 学习笔记(二) Ext.Element类
2009/10/13 Javascript
js 面向对象的技术创建高级 Web 应用程序
2010/02/25 Javascript
JS随即打乱数组实现代码
2012/12/03 Javascript
简单实用jquery版三级联动select示例
2013/07/04 Javascript
jquery简单的拖动效果实现原理及示例
2013/07/26 Javascript
JavaScript动态插入script的基本思路及实现函数
2013/11/11 Javascript
JS判断表单输入是否为空(示例代码)
2013/12/23 Javascript
Javascript点击按钮随机改变数字与其颜色
2016/09/01 Javascript
JS动态添加选项案例分析
2016/10/17 Javascript
javascript 中Cookie读、写与删除操作
2017/03/29 Javascript
jQuery+koa2实现简单的Ajax请求的示例
2018/03/06 jQuery
在vue中使用v-bind:class的选项卡方法
2018/09/27 Javascript
基于JQuery和DWR实现异步数据传递
2020/10/16 jQuery
Python标准库defaultdict模块使用示例
2015/04/28 Python
python requests 使用快速入门
2017/08/31 Python
对python3标准库httpclient的使用详解
2018/12/18 Python
Django使用Jinja2模板引擎的示例代码
2019/08/09 Python
查看Python依赖包及其版本号信息的方法
2019/08/13 Python
使用Python来做一个屏幕录制工具的操作代码
2020/01/18 Python
基于Python和C++实现删除链表的节点
2020/07/06 Python
基于CSS3实现的几个小loading效果
2018/09/27 HTML / CSS
基于HTML5的WebGL实现json和echarts图表展现在同一个界面
2017/10/26 HTML / CSS
日本亚马逊官方网站:Amazon.co.jp
2020/04/14 全球购物
医药专业推荐信
2013/11/15 职场文书
班级年度安全计划书
2014/05/01 职场文书
2015年保卫科工作总结
2015/05/14 职场文书
可怜妈妈观后感
2015/06/09 职场文书
2015年党风廉政建设个人总结
2015/08/18 职场文书
2019年销售人员的职业生涯规划书
2019/03/25 职场文书
python pyhs2 的安装操作
2021/04/07 Python
如何在CocosCreator里画个炫酷的雷达图
2021/04/16 Javascript
windows下快速安装nginx并配置开机自启动的方法
2021/05/11 Servers
sqlserver连接错误之SQL评估期已过的问题解决
2022/03/23 SQL Server