Asp.Net教程,WinForm教程,Asp.Net MVC,vs2008教程,vs2010教程,Silverlight技术,源码下载,Asp.Net视频教程
全站热门标签
vs2010 Silverlight 存储过程 水晶报表 LINQ ADO.NET JavaScript DataGridView GridView AjaxPro DevExpress 面向对象 Extjs XML HTML教程 Oracle jQuery WPF MVC 分页 Office2010 GDI+ Visual C++2010 Dojo MySQL VB.NET WCF4.0 ASPxGridView WinForm textbox Sql2005 cookie Discuz!NT checkbox WCF SQL经典语句 T-SQL F# asp.net VS2008 SQL Ajax DropDownList VS2008新特性 TreeView Access Flex 页面执行时间 字符串 DataSet VB2005 回调 动画 C#时间 游戏 ASP.NET MVC
jQuery JavaScriptHtml/Css Flex Dojo ExtJS AJAX
当前位置: 主页 > Web编程 > Html/Css >

简单的HoverMenu效果

时间:2011-12-28 22:15来源:未知 作者:admin 点击:
<!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>HoverMenu</title>
<head>
<script type="text/javascript">
function addEvent(obj, evType, fn){
if (obj.addEventListener){
    obj.addEventListener(evType, fn,
false);
   
return true;
}
else if (obj.attachEvent){
   
var r = obj.attachEvent("on"+evType, fn);
   
return r;
}
else {
   
return false;
}
}

function removeEvent(obj, evType, fn, useCapture){
 
if (obj.removeEventListener){
    obj.removeEventListener(evType, fn, useCapture);
   
return true;
  }
else if (obj.detachEvent){
   
var r = obj.detachEvent("on"+evType, fn);
   
return r;
  }
else {
    alert(
"Handler could not be removed");
  }
}

function initHoverMenu(){
   
var elms = document.getElementsByTagName('a');
   
for (i = 0; i < elms.length; i++) {
       
if (elms[i].className.indexOf("HoverMenu") == 0) {
            addEvent(elms[i],
'mouseover',showHoverMenu);
            addEvent(elms[i],
'mouseout',hidHoverMenu);
        }
    }
}

function showHoverMenu(e){

   
var Pos = getPosition(e);
   
   
var menu = createMenu();
   
    menu.style.display
= "block";
    menu.style.top
= Pos.y + "px";//要加"px"否则不兼容FF
    menu.style.left = Pos.x + "px";
}

function hidHoverMenu(){
   
var menu = createMenu();
    menu.style.display
= "none";
}

function createMenu(){
   
if(createMenu._init == undefined){
        theBody
= document.getElementsByTagName('BODY')[0];
        menu
= document.createElement('div');
        menu.id
= "MenuID";
        menu.style.position
= 'absolute';
        menu.innerHTML
= "this is Menu";
        menu.style.top
= 100;
        theBody.appendChild(menu);
        createMenu._init
= 1;
    }
   
return menu;
}

function getPosition(e){//要兼容FF的话,这个参数一定要写上

    e
= window.event || e;
    srcElement
= e.srcElement || e.target;
   
   
var top = srcElement.getBoundingClientRect().top + getScrollTop();
   
var left = srcElement.getBoundingClientRect().right + getScrollLeft();

   
return {x:left, y:top};
}

function getScrollTop() {
   
if (self.pageYOffset) // all except Explorer
    {
       
return self.pageYOffset;
    }
   
else if (document.documentElement && document.documentElement.scrollTop) // Explorer 6 Strict
    {
       
return document.documentElement.scrollTop;
    }
   
else if (document.body) // all other Explorers
    {
       
return document.body.scrollTop;
    }
}

function getScrollLeft() {
   
if (self.pageXOffset) // all except Explorer
    {
       
return self.pageXOffset;
    }
   
else if (document.documentElement && document.documentElement.scrollLeft) // Explorer 6 Strict
    {
       
return document.documentElement.scrollLeft;
    }
   
else if (document.body) // all other Explorers
    {
       
return document.body.scrollLeft;
    }
}

addEvent(window,
'load',initHoverMenu);

</script>
</head>

<body>

<a href="#" id="ima" class="HoverMenu">菜单</a><br>
<a href="#" id="ima" class="HoverMenu">菜单</a><br>
<a href="#" id="ima" class="HoverMenu">菜单</a>
</body>

</html>


 

 

Tags:
责任编辑:admin
返回顶部
------分隔线----------------------------
推荐内容
骆驼户外男 真皮磨砂日常休闲鞋 低帮 2011秋冬新款 专柜正品特价 骆驼户外男 真皮磨砂日常休闲鞋 低帮 2011秋冬新款 专柜正品特价