aardio 官方社区

用户名  找回密码
 注册会员

QQ登录

只需一步,快速开始

帖子
查看: 6608|回复: 2

请教如何触发 点击才出现的菜单链接

[复制链接]

1

主题

3

回帖

333

积分

二级会员

积分
333
发表于 2015-1-31 20:45:10 | 显示全部楼层 |阅读模式
本帖最后由 aardio2014 于 2015-1-31 20:45 编辑

请教大侠们,像论坛上这种需要鼠标指向或者点击才会出现菜单链接 怎么才能点击(触发)到?

下面是测试网站的源代码,被我删掉了好多无用的代码后点击了不会出现菜单,但是我想请教一下如何能触发(打开)到下级菜单的链接


网页的源代码如下
<HEAD><BASE href=http://127.0.0.1/testFrame></HEAD><BODY>
<SCRIPT language=JavaScript>
function createPopups(i,module,menuStyle){
         if(i<0)
          return null;
         var style=menuStyle;
         if (pops.get(module)!=null&&pops.get(module)!=null)
          return pops.get(module);
         if(i==0)
          pops.get(module)[0]=window.createPopup();
         else{
           if(pops.get(module)!=null&&pops.get(module)[i-1]==null)
             pops.get(module)[i-1]=createPopups(i-1,module,menuStyle);
           pops.get(module)=pops.get(module)[i-1].document.parentWindow.createPopup();
         }
            pops.get(module).document.createStyleSheet(style);
            return pops.get(module);
}
<SCRIPT src="MenuConfig.js"></SCRIPT>
<SCRIPT src="MenuItem.js"></SCRIPT>
<SCRIPT src="MenuBuilder.js"></SCRIPT>
<SCRIPT src="MenuController.js"></SCRIPT>
        <TABLE border=0 cellSpacing=0 cellPadding=0>
        <TBODY>
        <TR>
                <TD style="CURSOR: hand" title=点击查看菜单 onmouseout=mouseTimer=1;>
                <FONT size=+0>点击显示菜单</FONT>
                </TD>
        </TR>
        </TBODY>
        </TABLE>
        <INPUT value=C#1#第一个链接#Testmenu01#/commonTestFrame[1].jsp?#null type=hidden name=Testmenu>
        <INPUT value=C#1#第二个链接#Testmenu02#/commonTestFrame[2].jsp?#null type=hidden name=Testmenu>

        <INPUT id=Left_Testmenu value=684 type=hidden>
        <INPUT id=Top_Testmenu value=65 type=hidden>
        <INPUT id=SubTop_Testmenu value=0 type=hidden>
        <INPUT id=SubLeft_Testmenu value=2 type=hidden>
        <INPUT id=SubHeight_Testmenu value=20 type=hidden>
        <INPUT id=FNodeImg_Testmenu value="<img src='menu_parentNode[1].gif'></img>" type=hidden>
        <INPUT id=NodeImgWidth_Testmenu value=15 type=hidden>
        <INPUT id=CNodeImg_Testmenu value="<img src='menu_childNode[1].gif'></img>" type=hidden>
        <INPUT id=ExtendImg_Testmenu value="<img src='menu_arrow[1].gif'></img>" type=hidden>
        <INPUT id=CssSheet_Testmenu value="Menu[1].css " type=hidden>
        <INPUT id=ExtendWidth_Testmenu value=15 type=hidden>
        <INPUT id=width_Testmenu value=6 type=hidden>
        <INPUT id=width_Testmenu value=166 type=hidden>
        <INPUT id=target_Testmenu value=parent.mainFrame type=hidden>
</BODY>
正常点击了  “点击显示菜单”后出现两个菜单
“第一个链接”
“第二个链接”
然后用鼠标点一下其中一个就可以跳转到链接的地址,
只能用aardioele.click()触发显示链接菜单,但不知道触发(打开)其中的某个链接。

希望有大侠能教教怎么触发(打开)这种链接。


1

主题

3

回帖

333

积分

二级会员

积分
333
 楼主| 发表于 2015-1-31 20:45:11 | 显示全部楼层
网页中主要用到那个ONCLICK的函数内容如下


function createPopups(i,module,menuStyle){
        if(i<0)
        return null;
        if (pops.get(module)[i]!=null)
        return pops.get(module)[i];
        if(i==0)
        pops.get(module)[0]=window.createPopup();
        else{
        if(pops.get(module)[i-1]==null)
        pops.get(module)[i-1]=createPopups(i-1,module,menuStyle);
        pops.get(module)[i]=pops.get(module)[i-1].document.parentWindow.createPopup();
        }
        pops.get(module)[i].document.createStyleSheet(menuStyle);
        return pops.get(module)[i];
}
/*
        *根菜单的显示方法,由于点击根菜单要进行多处变量的初始化工作,
*所以将此方法单独提出来
*/
function showRootMenu(father,module,positionFlag){
        ob_all = module;
        //根菜单延时控制
var RootTimer;
        bd=new Date();
        bt=bd.getTime();
        mouseOnTime=bd.getTime();
        if(pops.get(module)==null){
        pops.set(module,new Array());
        createPopups(5,module,MenuConfig.getCssSheet(module));
        }
        //为菜单全量变量的根代码属性初始化
MenuConfig.RootCode=module;
        MenuConfig.BodyWidth=document.body.offsetWidth;
        if (positionFlag=='side'){
        MenuConfig.RootLeft.set(module,getLeft(father)+getWidth(father));
        }else{
        MenuConfig.RootLeft.set(module,getLeft(father));
        }
        MenuConfig.RootTop.set(module,getTop(father));
        MenuConfig.RootHeight.set(module,father.offsetHeight);
        //初始化默认为右对齐
MenuConfig.AlignFlag=1;
        var top=MenuConfig.RootTop.get(module)+MenuConfig.RootHeight.get(module);
        //为记录各层菜单的map赋值
menuBuilder.setWidthValue(module,1);
        //判断是否超出右屏幕
var allWidth=widthMap.get(module)[1]*1+MenuConfig.RootLeft.get(module)*1;
        var left=MenuConfig.RootLeft.get(module);
        if(allWidth>MenuConfig.BodyWidth){
        MenuConfig.AlignFlag=-1;
        if (positionFlag=='side'){
        left=left*1-(widthMap.get(module)[1]*1+MenuConfig.getNodeImgWidth(module)*1+MenuConfig.getExtendWidth(module)*1)-getWidth(father);
        }else{
        left=left*1-(widthMap.get(module)[1]*1+MenuConfig.getNodeImgWidth(module)*1+MenuConfig.getExtendWidth(module)*1);
        }
        }
        ed=new Date();
        et=ed.getTime();
        mouseTimerId=window.setTimeout("checkMouseTime("+left+","+top+",'"+module.toString()+"');",300);
}


1

主题

3

回帖

333

积分

二级会员

积分
333
 楼主| 发表于 2015-1-31 22:04:57 | 显示全部楼层
不知道为什么发帖的时候不能选中代码的类型?
要是可以选到时我把代码再整理一下


上面的页面中需要的JS文件在下面的网盘文件中
http://pan.baidu.com/s/1pJxAcK7

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

手机版|未经许可严禁引用或转载本站文章|aardio.com|aardio 官方社区 ( 皖ICP备09012014号 )

GMT+8, 2025-6-9 09:06 , Processed in 0.074174 second(s), 22 queries .

Powered by Discuz! X3.5

Copyright © 2001-2024 Tencent Cloud.

快速回复 返回顶部 返回列表