div制作下拉菜单
发表在HTML/CSS答疑区 2016-08-18
是否精华
版块置顶:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <style type="text/css">
        .menubar{
            position: absolute;top: 10px;width: 100px;height: 20px;cursor: default;
            border-width: 1px;border-style: outset;color: #99FFFF;background: #669900;
        }
        .menu{
            position: absolute;top: 32px;width: 140px;display: none;border-width: 2px;
            border-style: outset;border-color: white;border-color: #333399;
            padding: 15px;
        }
        .menu A{
            text-decoration: none;color: #99FFFF;
        }
        .menu A:hover{
            color: #99FFFF;
        }
    </style>
</head>
<body>
<table width="400" border="0" align="center" cellpadding="0" cellspacing="0" style="font-size: 15px">
    <tr>
        <td width="20%">
            <div align="center" id="Tdiv_1" class="menubar" onmouseover="divControl(1)" onmouseout="divControl(0)">教育网站
            </div>
        </td>
        <td width="20%">
            <div align="center" id="Tdiv_2" class="menubar" onmouseover="divControl(1)" onmouseout="divControl(0)">电脑丛书网站
            </div>
        </td>
        <td width="20%">
            <div align="center" id="Tdiv_3" class="menubar" onmouseover="divControl(1)" onmouseout="divControl(0)">新出网站
            </div>
        </td>
        <td width="20%">
            <div align="center" id="Tdiv_4" class="menubar" onmouseover="divControl(1)" onmouseout="divControl(0)">其他网站
            </div>
        </td>
    </tr>
    <tr>
        <td width="20%">
            <div align="center" id="Div1" class="menu" onmouseover="keepstyle(this)" onmouseout="hidediv(this)">
                <a href="#">重庆大学</a>
                <a href="#">四川大学</a>
                <a href="#">北京大学</a>
            </div>
        </td>
        <td width="20%">
            <div align="center" id="Div2" class="menu" onmouseover="keepstyle(this)" onmouseout="hidediv(this)">
                <a href="#">html图书</a>
                <a href="#">javascript图书</a>
                <a href="#">java图书</a>
                </div>
        </td>
        <td width="20%">
        <div align="center" id="Div3" class="menu" onmouseover="keepstyle(this)" onmouseout="hidediv(this)">
            <a href="#">蛮</a>
            <a href="#">易</a>
            <a href="#">信</a>
        </div>
    </td>
        <td width="20%">
            <div align="center" id="Div4" class="menu" onmouseover="keepstyle(this)" onmouseout="hidediv(this)">
                <a href="#">明日科技主页</a>
                <a href="#">明日科技图书馆</a>
                <a href="#">明日技术支持网</a>
            </div>
        </td>
    </tr>
</table>
</body>
<script language="JavaScript">
            function divControl(show){
                window.event.cancelable=true;
                var objID=event.srcElement.id;
                var index=objID.indexOf("_");
                var mainID=objID.substring(0,index);
                var numlID=objID.substring(0,index+1);
                if(mainID=="Tdiv"){
                    if(show==1){
                        eval("showdiv("+"Div"+numlID+")");
                    }
                    else{
                        eval("hidediv("+"Div"+numlID+")");
                    }
                }

            }
    var nbottom= 0,speed=2;
    function dispiayMenu(obj){
        obj.style.clip="rect(0 100%"+nbottom+"% 0)";
        nbottom+=speed;
        if(nbottom<=100){
            timerID=setTimeout("displayMenu(("+obj.id+"),1)");
        }
        else clearTimeout(timerID);
    }
    function showdiv(obj){
        obj.style.display="block";
        obj.style.clip="rect(0 0 0 0 0)";
        nbottom=5;
        dispiayMenu(obj);
    }
    function hidediv(obj) {
        nbottom = 0;
        obj.style.display = "none";
    }
    function keeepstyle(obj){
        obj.style.display="block";

    }
</script>
</html>
为什么没有下拉的效果,书上给我实例程序也没有效果啊
分享到:
精彩评论 1
无语_mrkj
学分:3155 LV11
2016-08-19
沙发
原书中程序只是在IE 8浏览器下可以正常运行,不兼容其他的浏览器。下面是修改后兼容其他浏览器的程序,您修改一下。
<html>
<head>
<title>应用DIV制作下拉菜单导航条</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>

<body>
<style type="text/css">
.menubar{position:absolute;top:10px;width:100px;height:20px;cursor:default;border-width:1px;border-style:outset;color:#99FFFF;background:#669900}
.menu{position:absolute;top:30px;width:140px;border-width:2px;border-style:outset;display:none;border-color:white sliver sliver white;background:#333399;padding:15px}
.menu A{text-decoration:none;color:#99FFFF;}
.menu A:hover{color: #FFFFFF;}
</style>
<script language="javascript">
function divControl(show){ //判断是否显示相对应的下拉列表
var e = arguments.callee.caller.arguments[0] || event;
if(e && e.stopPropagation){   // 非IE浏览器
        e.stopPropagation();
    }else if(window.event){  // IE浏览器
        window.event.cancelBubble = true;
    }
var obj = e.srcElement?e.srcElement:e.target;
var objID=obj.id;
var index=objID.indexOf("_");
var mainID=objID.substring(0,index);
var numID=objID.substring(index+1);
if(mainID=="Tdiv"){
if(show==1){eval("showdiv("+"Div"+numID+")");}
else{eval("hidediv("+"Div"+numID+")");}
}
}
var nbottom=0,speed=2;
function displayMenu(obj){ //在显示下拉菜单时,以下拉方式显示下拉菜单
nbottom+=speed;
if(nbottom<=100){
timerID=setTimeout("displayMenu("+obj.id+"),1");
}
else clearTimeout(timerID);
}
function showdiv(obj){ //显示下拉列表
obj.style.display="block";
nbottom=5;
displayMenu(obj);
}
function hidediv(obj){ //隐藏下拉列表
nbottom=0;
obj.style.display="none";
}
function keepstyle(obj){ //在下拉菜单中移动时,保持下拉列表的样式
obj.style.display="block";
}
</script>
<table width="400" border="0" align="center" cellpadding="0" cellspacing="0" style="font-size:15px">
<tr>
<td width="20%">
<div align="center"id="Tdiv_1" class="menubar" onmouseover="divControl(1)" onmouseout="divControl(0)">
教育网站
</div>
</td>
<td width="20%">
<div align="center"id="Tdiv_2" class="menubar" onmouseover="divControl(1)" onmouseout="divControl(0)">
电脑丛书网站
</div>
</td>
<td width="20%">
<div align="center"id="Tdiv_3" class="menubar" onmouseover="divControl(1)" onmouseout="divControl(0)">
新出图书
</div>
</td>
<td width="20%">
<div align="center"id="Tdiv_4" class="menubar" onmouseover="divControl(1)" onmouseout="divControl(0)">
其它网站
</div>
</td>
</tr>
</tr>
<tr>
<td width="20%">
<div align="left"id="Div1" class="menu" onmouseover="keepstyle(this)" onmouseout="hidediv(this)">
<a href="#">重庆XX大学</a><br>
<a href="#">长春XX大学</a><br>
<a href="#">吉林XX大学</a>
</div>
</td>
<td width="20%">
<div align="left"id="Div2" class="menu" onmouseover="keepstyle(this)" onmouseout="hidediv(this)">
<a href="#">VB图书</a><br>
<a href="#">JScript图书</a><br>
<a href="#">Java图书</a></div>
</td>
<td width="20%">
<div align="left"id="Div3" class="menu" onmouseover="keepstyle(this)" onmouseout="hidediv(this)">
<a href="#">Delphi XX图书</a><br>
<a href="#">VB XX图书</a><br>
<a href="#">Java XX图书</a></div>
</td>
<td width="20%">
<div align="left"id="Div4" class="menu" onmouseover="keepstyle(this)" onmouseout="hidediv(this)">
<a href="#">明日科技主页</a><br>
<a href="#">明日科技图书网</a><br>
<a href="#">明日技术支持网</a></div>
</td>
</table>
</body>
</html>
首页上一页 1 下一页尾页 1 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照