同上
解决方案 »
- AspNetPager 自定义分页信息
- 如何让一个Cookies当在当前浏览器中有效 关闭后就自动删除
- web页面gridview打印excel问题
- 那位大哥可以提供一套源程序ASP.NET2.0(VB.NET)
- 也说一个日期格式转换问题?
- 如何通过C#代码而不是javascript 来动态取得浏览器的标题的值?
- 关于界面设计的普遍问题
- 关于文件夹的成批生成以及成批上传文件的困惑!!!!!!!!!!!!有这方面经验的大哥大姐请帮帮我!!!!!!!!!俺在线急求!!!
- C# 在后台用 StringBuilder 输出 javascrtipt 语句! 100分,万分感谢!!
- dropdownlist 刷新 window.location 和window.open 问题?
- 大家帮忙看看这个存储过程哪里不对.
- 在线:Htmltable如何改变它的字体,我用cell.Controls.Add(new LiteralControl(strtext));怎么改变strtext显示的字体大小
asp.net menu 控件就是这样实现的。
我把里面的几个方法抽出来了:
//隐藏"select"控件==================================================================================
// Hides HTML select elements that are overlapping the given menu group
function aspnm_hideSelectElements(group)
{
if (workspace.window.document.getElementsByTagName)
{
var arrElements = workspace.window.document.getElementsByTagName('select');
for (var i = 0; i < arrElements.length; i++)
//if (aspnm_objectsOverlapping(document.all[group], arrElements[i]))
if (aspnm_objectsOverlapping(eval(group), arrElements[i]))
arrElements[i].style.visibility = 'hidden';
}
}
// Whether the given objects are overlapping
function aspnm_objectsOverlapping(obj1, obj2)
{
var result = true;
var obj1Left = aspnm_pageX(obj1) - window.document.body.scrollLeft;
var obj1Top = aspnm_pageY(obj1) - window.document.body.scrollTop;
var obj1Right = obj1Left + obj1.offsetWidth;
var obj1Bottom = obj1Top + obj1.offsetHeight;
var obj2Left = aspnm_pageX(obj2) - workspace.window.document.body.scrollLeft;
var obj2Top = aspnm_pageY(obj2) - workspace.window.document.body.scrollTop+30;
var obj2Right = obj2Left + obj2.offsetWidth;
var obj2Bottom = obj2Top + obj2.offsetHeight;
if (obj1Right <= obj2Left || obj1Bottom <= obj2Top ||
obj1Left >= obj2Right || obj1Top >= obj2Bottom)
result = false;
return result;
}
// Calculates the absolute page x coordinate of a relatively positioned element
function aspnm_pageX(element)
{
var x = 0;
do
x += element.offsetLeft;
while ((element = element.offsetParent));
return x;
}// Calculates the absolute page x coordinate of a relatively positioned element
function aspnm_pageY(element)
{
var y = 0;
do
y += element.offsetTop;
while ((element = element.offsetParent));
return y;
}
// Restores all HTML select elements on the page 显示被隐藏的控件==========
function aspnm_restoreSelectElements()
{
if (document.getElementsByTagName)
{
var arrElements = workspace.window.document.getElementsByTagName('select');
for (var i = 0; i < arrElements.length; i++) {
arrElements[i].style.visibility = 'visible'; }
}
}
怎么控制就你的事了。
有没有ifram和window.createPopup()的例子呢??createPopup()可能也有问题的,如果浏览器的位置变了,会不会改变它的位置呢??真头痛!!
但非控件中,iframe就可以盖在它上面.
楼主可用点击弹出IFRAME的方式来实现你的想法.一般用法为:
<iframe id=xx name=xx src=xxx.aspx frameborder=0></iframe>
其实在NET或DW里面,写的时候都有语法支持的.
我们公司所有的有菜单的项目都用了我的这套菜单,根据用户权限动态的。
以上的代码只是我的menu.js里面的关于隐藏ddl的部分代码。当然,要是你能要求你的客户端全都是IE6以上的版本,用createPopup()也是不错的选择,位置控制不是问题。难的是怎么动态生成菜单数据。