| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1374 人关注过本帖
标题:用asp给任意链接加个下拉菜单
只看楼主 加入收藏
qskm
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2006-4-12
收藏
 问题点数:0 回复次数:8 
用asp给任意链接加个下拉菜单
用asp给任意链接加个下拉菜单

请问怎样用asp给任意链接加个下拉菜单 ,例如导航链接做成动态的,如果链接有子集,那么鼠标路过时就会出来下拉菜单?
搜索更多相关主题的帖子: 菜单 asp 链接 
2006-11-12 10:13
渚薰
Rank: 6Rank: 6
等 级:贵宾
威 望:22
帖 子:1132
专家分:0
注 册:2006-8-6
收藏
得分:0 
做下拉菜单的方法,就是用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>

个人ajax技术专题站: " target="_blank">http://www. 我不会闲你烦,只会闲你不够烦!
2006-11-12 10:36
qskm
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2006-4-12
收藏
得分:0 
怎么跟asp 结合使用呢?  大家有没有好书推荐几本呢?
2006-11-12 10:42
渚薰
Rank: 6Rank: 6
等 级:贵宾
威 望:22
帖 子:1132
专家分:0
注 册:2006-8-6
收藏
得分:0 
另外一种方法,如果subMenu实际上不会变的话,那么,可以只用css来控制,如下
(大致思路是这样,具体细节处理请自己仔细考虑,包括如果设置好各个div的css行为)
css部分
div.menu {
/*最外层的css行为*/
}

div.menu a{
/*链接的css行为*/
}

div.menu div.subMenu {
/*subMenu的统一css行为*/
}

div.normal div.subMenu{
display:'none';
/*普通状态下,设置subMenu为不可见*/
}

div.focus div.subMenu {
display:'block';
/*移动到链接上后,设置subMenu为可见*/
}


html部分
<script type="text/javascript">
function chgSubMenu(o,css)
{
o.className='menu '+css; // for ie5+
o.setAttribute("class",'menu '+css); //for mozila
}
</script>

<div class="menu normal" onmouseover="chgSubMenu(this,'focus')" onmouseout="chgSubMenu(this,'normal')"><a href="javascript:void(0)">test</a>
<div class="subMenu">sub1</div>
<div class="subMenu">sub2</div>
<div class="subMenu">sub3</div>
</div>

个人ajax技术专题站: " target="_blank">http://www. 我不会闲你烦,只会闲你不够烦!
2006-11-12 10:46
渚薰
Rank: 6Rank: 6
等 级:贵宾
威 望:22
帖 子:1132
专家分:0
注 册:2006-8-6
收藏
得分:0 
以下是引用qskm在2006-11-12 10:42:24的发言:
怎么跟asp 结合使用呢? 大家有没有好书推荐几本呢?

我说你啊,根本没仔细看我的说明
和asp结合完全不是关键,asp只要循环的生成相应菜单的submenu就可以了,关键是需要领会javascript怎么去处理。

[此贴子已经被作者于2006-11-12 10:51:30编辑过]


个人ajax技术专题站: " target="_blank">http://www. 我不会闲你烦,只会闲你不够烦!
2006-11-12 10:47
qskm
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2006-4-12
收藏
得分:0 
我所说的链接是动态从数据库里取出来的,下拉菜单是根据链接(父级)动态取出的,我想能够做成函数,直接来调用,

非常感谢版主的支持,向你学习,不晓得.net里好做不了?
2006-11-12 10:55
渚薰
Rank: 6Rank: 6
等 级:贵宾
威 望:22
帖 子:1132
专家分:0
注 册:2006-8-6
收藏
得分:0 
理解你的意思
但你的动态的含义有多少?
第一,同一个子级菜单项其会不会发生改变,如果不会发生改变,就只需要用一个循环,通过asp写输入到javascript的数组里,然后客户端再调用这个数组。如果子级菜单随时会改变,那么,就需要用到ajax的技术
第二,这和.net没有关系,.net没有提供这样的组件
第三,要做成函数来调用,并不困难,关键你要去掌握ood,以及vbscript和javascript中的ood技术

个人ajax技术专题站: " target="_blank">http://www. 我不会闲你烦,只会闲你不够烦!
2006-11-12 16:31
h527
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2006-6-29
收藏
得分:0 

2006-11-12 21:31
qskm
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2006-4-12
收藏
得分:0 
谢谢关注!
2006-11-16 13:18
快速回复:用asp给任意链接加个下拉菜单
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.031452 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved