js特效-渐现菜单
来源:互联网 发布:mac打印色彩调整图案 编辑:程序博客网 时间:2024/04/30 01:20
js源码filter.js:
// JavaScript Document
/**
* @function filter渐现显示
* @direction objId显示块的id,speed速度
*/
function filter(objId, speed){
var effect = this;
var obj = null;
var speed = speed ? speed : 10;
var timer = null;
var opacity = 0;
var init = function(){
obj = document.getElementById(objId);
if(!obj.style.zIndex)
obj.style.zIndex = 1000;
obj.style.opacity = opacity;
obj.style.filter = "alpha(opacity:"+ opacity+");";
obj.style.visibility = "hidden";
};
this.show = function(func){
clearInterval(timer);
timer = setInterval(function(){effect.animateShow(func);}, 50);
};
this.hide = function(func){
clearInterval(timer);
timer = setInterval(function(){effect.animateHide(func);}, 50);
};
this.animateShow = function(func){
opacity = opacity + speed > 100 ? 100 : opacity + speed;
obj.style.visibility = "visible";
obj.style.display = "block";
if(opacity >= 100){
obj.style.opacity = "";
obj.style.filter = "";
clearInterval(timer);
if(func)
func();
}
else{
obj.style.opacity = opacity/100;
obj.style.filter = "alpha(opacity:"+ opacity+")";
}
};
this.animateHide = function(func){
opacity = opacity - speed < 0 ? 0 : opacity - speed;
if(opacity > 0){
obj.style.opacity = opacity/100;
obj.style.filter = "alpha(opacity:"+ opacity+");";
}
else{
obj.style.display="none";
obj.style.opacity = "";
obj.style.filter = "";
clearInterval(timer);
if(func)
func();
}
};
init();
return this;
};
测试代码:
li{
list-style-type:none;
}
</style>
</head>
<body>
<div id="menu">
<div id="menu_title">menu</div>
<div id="menu_list" class="menu_list">
<ul>
<li>menu1</li>
<li>menu2</li>
<li>menu3</li>
<li>menu4</li>
<li>menu5</li>
</ul>
</div>
</div>
<div>
</div>
<div id="text">
</div>
</body>
<script language="javascript" src="filter.js"></script>
<script language="javascript">
var clip_menu = menu("menu_title", "menu_list", "clip", "up");
function menu(menuId, menuListId, effect, direction){
var effectObj = null;
var menu = null;
var init = function(){
menu = document.getElementById(menuId);
effectObj = filter(menuListId, 10);
menu.parentNode.onmouseover = effectObj.show;
menu.parentNode.onmouseout = effectObj.hide;
};
init();
return this;
};
</script>
</html>
- js特效-渐现菜单
- js特效-渐现进入菜单、窗口
- js特效-下拉菜单
- js特效-渐现、一边进入、拌动、两边向中间弹出窗口
- js特效-卷动菜单、窗口
- js联动三级,四级菜单特效
- 可刷新的JS树形菜单特效
- 可刷新的JS树形菜单特效
- js特效-震动下拉菜单、抖动窗口
- js 简单的类下拉菜单特效
- js实现右键弹出多级菜单特效
- JS省市二级联动网页特效菜单
- JS特效之多层下拉菜单
- 常用js特效之左上角菜单
- JQuery【树形菜单——渐现】
- 菜单特效
- 菜单特效
- 菜单特效
- 深圳福田北大青鸟太垃圾了,没有学员去学,居然在网上挑些有linux文章的人充当学员
- PPPoE拨号调试
- DOS命令大全(经典收藏)
- dtd要下载的
- 字符串表示形式—字符数组和字符指针的区别
- js特效-渐现菜单
- 嘿嘿。
- 如何快速获得积分啊
- 将命令的返回值赋给变量
- 多学一些还是有用的
- 第一篇博文
- js特效-下拉菜单
- 关于Server.MapPath怎样取绝对路径的问题
- 你的代码真的很健壮吗