+ -
当前位置:首页 → 问答吧 → 文件管理器增加右键第一步

文件管理器增加右键第一步

时间:2007-01-05

来源:互联网

想把我的那个资源管理器下面按钮去掉,取而代之的是右键菜单

搞了几个小时了,终于把这个 js 效果弄出来了

由时间把镶入进我的资源管理器

代码看下面
复制内容到剪贴板
代码:
<style>
.skin0 {
        position:absolute;
        text-align:left;
        width:200px;
        border:2px solid black;
        background-color:menu;
        font-family:Verdana;
        line-height:20px;
        cursor:default;
        visibility:hidden;
}
.skin1 {
        cursor:default;
        position:absolute;
        BORDER-BOTTOM: #307ce8 1px solid;
        BORDER-LEFT: #307ce8 5px solid;
        BORDER-RIGHT: #307ce8 1px solid;
        BORDER-TOP: #94bcf3 1px solid;
        text-align:left;
        FONT-SIZE: 12px;
        width:100px;
        background-color:#ffffff;
        visibility:hidden;
}
.menuitems {
        padding-left:15px;
        padding-top:5px;
        height:25px;
        font-size:14px;
        font-family:Fixedsys;
}
.selected{
background:#0000FF;
color:#EEEEEE;
}
</style>

<SCRIPT LANGUAGE="JavaScript1.2">
<!-- Begin
var menuskin = "skin1";
var display_url = 0;
var type = 0;
var parent = "";
var path  = "";
function setvars(n,var2,var3){
        type   = n;
        parent = var2;
        path   = var3;
}
function showmenu(obj) {
        var rightedge = document.body.clientWidth-event.clientX;
        var bottomedge = document.body.clientHeight-event.clientY;
        if (rightedge < obj.offsetWidth){
                obj.style.left = document.body.scrollLeft + event.clientX - obj.offsetWidth;
        }else{
                obj.style.left = document.body.scrollLeft + event.clientX;
        }
        if (bottomedge < obj.offsetHeight){
                obj.style.top = document.body.scrollTop + event.clientY - obj.offsetHeight;
        }else{
                obj.style.top = document.body.scrollTop + event.clientY;
        }
        obj.style.visibility = "visible";
        return false;
}

function hidemenu(obj) {
        obj.style.visibility = "hidden";
}

function highlight() {
        if (event.srcElement.className == "menuitems") {
                event.srcElement.style.backgroundColor = "highlight";
                event.srcElement.style.color = "white";
                if (display_url){
                        window.status = event.srcElement.url;
                }
   }
}
function lowlight(){
        if (event.srcElement.className == "menuitems") {
                event.srcElement.style.backgroundColor = "";
                event.srcElement.style.color = "black";
                window.status = "";
        }
}
function jumpto(){
        if (event.srcElement.className == "menuitems") {
                if (event.srcElement.getAttribute("target") != null){
                        window.open(event.srcElement.url, event.srcElement.getAttribute("target"));
                }else{
                        window.location = event.srcElement.url;
                }
   }
}
function makemenu(){
        if(type==1){
                var str =
             '<div class="menuitems" url="'+parent+path+'">编辑</div>'
           + '<div class="menuitems" url="'+parent+path+'">拷贝</div>'
                   + '<div class="menuitems" url="'+parent+path+'">剪切</div>'
                   + '<div class="menuitems" url="'+parent+path+'">删除</div>'
                   + '<div class="menuitems" url="'+parent+path+'">重命名</div>'
                   + '<div class="menuitems" url="'+parent+path+'">属性</div>'
                   + '<div class="menuitems" url="'+parent+path+'">下载</div>'
                   ;
        }else if(type==2){
                var str =
             '<div class="menuitems" url="'+parent+path+'">打开</div>'
           + '<div class="menuitems" url="'+parent+path+'">拷贝</div>'
           + '<div class="menuitems" url="'+parent+path+'">剪切</div>'
           + '<div class="menuitems" url="'+parent+path+'">删除</div>'
           + '<div class="menuitems" url="'+parent+path+'">重命名</div>'
           + '<div class="menuitems" url="'+parent+path+'">属性</div>'
           + '<div class="menuitems" url="'+parent+path+'">下载</div>'
           ;
        }else if(type==0){
                var str =
             '<div class="menuitems" url="'+parent+path+'">新文件夹</div>'
           + '<div class="menuitems" url="'+parent+path+'">新文件</div>'
           + '<div class="menuitems" url="'+parent+path+'">粘贴</div>'
           + '<div class="menuitems" url="'+parent+path+'">刷新</div>'
           + '<div class="menuitems" url="'+parent+path+'">属性</div>'
           ;
        }
        var obj = eval("menu");
        obj.innerHTML = str;
}
//  End -->
</script>
<div id="menu" class="skin0" onMouseover="highlight()" onMouseout="lowlight()" onClick="jumpto();">
</div>
<script language="JavaScript1.2">
function document.onmouseup(){
        var typeid = eval("menu");
        if(event.button==2){
                makemenu();
                typeid.className = menuskin;
                showmenu(typeid);
        }
        if(event.button==1){
                hidemenu(typeid);
        }
}
function document.oncontextmenu(){
        return false;
}
setvars(0,'#','');
</script>
<center>
<table border="1">
<tr>
<td onmouseover="setvars(2,'#','');this.className='selected'" onmouseout="setvars(0,'#','');this.className=''" height=40 width=60 >文件夹</td>
<td></td>
<td onmouseover="setvars(1,'#','');this.className='selected'" onmouseout="setvars(0,'#','');this.className=''" height=40 width=60 >文件</td>
</tr>
</table></center>
效果预览http://tuanwei.wxc.edu.cn/stlhh/phgar/rightkey.html

[ 本帖最后由 muqiao 于 2007-1-5 00:52 编辑 ]

作者: muqiao   发布时间: 2007-01-05

作者: cator   发布时间: 2007-01-05

楼主JS只是个强啊

作者: leehui1983   发布时间: 2007-01-05

引用:
原帖由 leehui1983 于 2007-1-5 11:43 发表
楼主JS只是个强啊
^_^,我改别人的

作者: muqiao   发布时间: 2007-01-05

支持 Opera 么??

作者: Phzzy   发布时间: 2007-01-06

作者: �����i�i   发布时间: 2007-01-07

引用:
原帖由 Phzzy 于 2007-1-6 21:02 发表
支持 Opera 么??
我知道它支持IE,不知道是不是支持OP。。。

您是不是有支持firefox的?

作者: muqiao   发布时间: 2007-01-07

就是忘了地址....

作者: lmhllr   发布时间: 2007-01-07

firefox 和 IE 没什么区别,你别用 ie 独有的右键属性就可以了

作者: Phzzy   发布时间: 2007-01-07

楼主的头象看着我热血沸腾..:(

作者: 玉面修罗   发布时间: 2007-01-08

不错

作者: fengyun   发布时间: 2007-01-08