许多朋友想实现DIV或导航条中栏目的渐隐渐现,但网上的相关教程不多,这里是武汉微白设计在网站建设过程中实际测试和使用过的效果,有需要的朋友可以参考,其中部分代码参考了其它的技术文章,在此对原作者表示感谢!
实例一:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>响应鼠标渐显渐隐的DIV</title>
<script>
window.onload = function(){
var sp = document.getElementById("pic").getElementsByTagName("div");
function e(a,f){
for(var i =0,j=a.length;i<j;i++){
f.call(a[i],i);
}
}
function ap(o,n){
if(document.all){
o.style.filter = "alpha(opacity=" + n + ")"
}else{
o.style.opacity = n/100;
}
}
e(sp,function(){
var n=20,o=this;//设置初始透明度
ap(this,n);
this.onmouseover = function(){
if(!!o.s){clearInterval(this.s);this.s=null}
o.s = setInterval(function(){
n+=4;
if(n>100){clearInterval(o.s);o.s=null}
ap(o,n);
},30)
}
this.onmouseout = function(){
if(!!o.s){clearInterval(o.s);o.s=null}
o.s = setInterval(function(){
n-=4;
if(n<50){clearInterval(o.s);o.s=null}//设置结束透明度
ap(o,n);
},30)
}
})
}
</script>
</head>
<body>
<style type="text/css">
.tips,.tips1,.tips2{width:100px;height:100px;display:block;opacity:1;filter:alpha(opacity=100);border:1px solid #000;background:#0ff;}
</style>
<div id="pic">
<div class="tips">我是谁?</div>
<div class="tips1">匆匆时光!</div>
<div class="tips2">我在等你……</div>
</div>
</body>
</html>
---------------------------------------------------------------------------------------------------------------
实例二:以下为应用后的改进版,JS加载完后直接运行,对高亮导航加入了判断等,CSS样式可自己加:
<script type="text/javascript">
function nav_alpha(){
var sp = document.getElementById("nav").getElementsByTagName("li");//找到ID为nav的容器中的每个li标签
function e(a,f){
for(var i =0,j=a.length;i<j;i++){
f.call(a[i],i);
}
}
function ap(o,n){
if(document.all){
o.style.filter = "alpha(opacity=" + n + ")"
}else{
o.style.opacity = n/100;
}
}
e(sp,function(){
if(this.className == 'li_a'){var n=90,o=this;//判断是否是高亮,是则不透明
}else{
var n=50,o=this;}//设置初始透明度
ap(this,n);
this.onmouseover = function(){
if(!!o.s){clearInterval(this.s);this.s=null}
o.s = setInterval(function(){
n+=4;
if(n>100){clearInterval(o.s);o.s=null}
ap(o,n);
},30)
}
this.onmouseout = function(){
if(!!o.s){clearInterval(o.s);o.s=null}
o.s = setInterval(function(){
n-=4;
if(o.className == 'li_a'){if(n<90){clearInterval(o.s);o.s=null}
}else{
if(n<50){clearInterval(o.s);o.s=null}}//设置结束透明度
ap(o,n);
},30)
}
})
}
nav_alpha();//加载完后直接运行
<style type="text/css">
li{opacity:1;filter:alpha(opacity=100);}
</style>
<div id="nav">
<ul class="menu">
<li class="li_a"><a href="#"></a></li>
<li><a href="#"></a></li>
<li><a href="#"></a></li>
</ul>
</div>
-----------------------------------------------------------------------------------------------------------------------
实例三:使用Jquery方法实现的,对两张图片进行的渐隐操作,使用时注意添加相应图片:
<!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script type="text/javascript" src="http://jqueryjs.googlecode.com/files/jquery-1.2.3.min.js"></script>
<script type="text/javascript">
$(function() {
$('#rssurl,#rsstip').mouseover(function() {
if (window.willhide) clearTimeout(window.willhide);
$('#rsstip').fadeIn(500)
});
$('#rssurl,#rsstip').mouseout(function() {
window.willhide = setTimeout(function() {
$('#rsstip').fadeOut(500)
},
750)
});
});
</script>
<style>
#rsstip{display:none;}
</style>
</head>
<body>
<div id="rss">
<a id="rssurl" href=http://www.weeeb.net target="_blank">111</a>
<div id="rsstip">
请点击右上角的 RSS 按钮并选择适合您的订阅方式~
</div>
</div>
</body>
</html>
-----------------------------------------------------------------------------------------------------------------------------------
实例四:对实例三的方法进行改进后用JQ实现的导航栏目的渐隐效果:
<!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>导航渐隐</title>
</head>
<body>
<div id="nav">
<ul class="menu">
<li><a class="li_a" title="首页" href=www.weeeb.net>首页</a></li>
<li><a title="服务项目" href="#">服务项目</a></li>
<li><a title="客户案例" href="#">客户案例</a></li>
<li><a title="最新动态" href="#">最新动态</a></li>
<li><a title="关于我们" href="#">关于我们</a></li>
<li><a title="联系我们" href="#">联系我们</a></li>
</ul>
</div>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script type="text/javascript">
$("#nav ul li a").not(".li_a").css('opacity', 0.5);//初始透明度0.5,除了类名为li_a的
$("#nav ul li a").parent().hover(
function(){
$("a",this).stop().animate({opacity: '1'},1000);
},
function(){
$("a",this).stop().animate({opacity: '0.5'},1000);
});
</script>
</body>
</html>