做下拉菜单的方法,就是用javascript动态生成一个绝对定位的div层,同时设定其位置(left,top值)
比如,有如下链接
<script type="text/javascript">
function showSubMenu(o)
{
var e=event || window.event; //获得触发的事件对象
var oDiv=createDiv(); //创建subMenu
document.body.appendChild(oDiv); //在body中添加这个div层
/*
以下的设置是取鼠标点击的当前坐标,这样不够精确,如果需要做到漂亮点,就需要得到
点击的那个链接对象的left和top,然后加上链接对象的高度,来确定subMenu层的left和top
*/
oDiv.style.position='absolute';
oDiv.style.display='block';
oDiv.style.left=e.clientX+'px';
oDiv.style.top=e.clientY+'px';
/*如此就简单的动态添加好了一个层*/
}
function createDiv()
{
/*
创建这个层,获得subMenu,有两种方法,一个是在生成页面时已经把各个subMenu的值写入了javascript的数组中
这样,在创建这个subMenu时,只要取相应的数组中的值就ok了。
另外,当然是用ajax,异步访问服务器,这部分不是一下说的完的,请自己去关注ajax的技术。
大致思路是这样子,具体实现还需要很多细节操作,请自行参考相关文献或者前人的代码
*/
}
</script>
<a href="javascript:void(0);" onclick="showSubMenu(this)">test</a>