<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

      Sparta Yew

         簡約、職業(yè)、恒久
    隨筆 - 15, 文章 - 1, 評論 - 276, 引用 - 0
    數(shù)據(jù)加載中……

    js實現(xiàn)右鍵彈出可以拖動的窗口


    sparta-紫杉  2010-4-17 16:37


    一、判斷瀏覽器類別,以便根據(jù)不同的瀏覽器類型編寫兼容代碼(該段代碼來自李戰(zhàn))。

    <script type="text/javascript"> 
      
     
    var Sys = {}
     
    var ua = navigator.userAgent.toLowerCase(); 
     
    var s; 
     (s 
    = ua.match(/msie ([\d.]+)/)) ? Sys.ie = s[1] : 
     (s 
    = ua.match(/firefox\/([\d.]+)/)) ? Sys.firefox = s[1] : 
     (s 
    = ua.match(/chrome\/([\d.]+)/)) ? Sys.chrome = s[1] : 
     (s 
    = ua.match(/opera.([\d.]+)/)) ? Sys.opera = s[1] : 
     (s 
    = ua.match(/version\/([\d.]+).*safari/)) ? Sys.safari = s[1] : 0
     
    </script> 


    二、通過下面三段代碼來完成捕獲鼠標事件的坐標位置(確定彈出窗口的坐標位置)

    <script>

    function mouseClick(ev){
     ev 
    = ev || window.event;
     
    var mousePos = mouseCoords(ev);
     X 
    = mousePos.x;
     Y 
    = mousePos.y;
    }


    function mouseCoords(ev){
            
    //下面3行代碼兼容火狐瀏覽器。
     if(ev.pageX || ev.pageY){
      
    return {x:ev.pageX, y:ev.pageY};
     }

     
    return {
      x:ev.clientX 
    + document.body.scrollLeft - document.body.clientLeft,
      y:ev.clientY 
    + document.body.scrollTop - document.body.clientTop
     }
    ;
    }


    document.onmousedown 
    = mouseClick;

    </script>


    三、右鍵內(nèi)容彈出(兼容Maxthon、FF瀏覽器)

    <script>

    function disDiv(){
      
    var popmenu = document.getElementById('PopMenu');

     
    if(Sys.firefox){
      popmenu.style.top 
    = Y + 'px';
      popmenu.style.left 
    = X + 'px';
      popmenu.style.visibility 
    = '';
     }
    else{
      popmenu.style.top 
    = event.clientY+'px';
      popmenu.style.left 
    = event.clientX+'px';
      popmenu.style.visibility 
    = '';
     }


    }

    </script>


    頁面無素“PopMenu”是一個Html的DIV元素,代碼如下:

    <!-- 右鍵彈出對象窗口 -->  
    <div  id="PopMenu" style="position:absolute; width:537px;    
          height:259px;    z-index:3; visibility:hidden; font-size: 120%;"
    >
                
      
    <div id="PopHandle" style="background:#FFCB2D;">
            
      
    <table width="535" height="251" border="0">
        
    <tr>
          
    <td colspan="7" scope="col">
            
    <table width="532" border="0">
                
    <tr>
                    
    <td width="31" height="20" bgcolor="#0066FF">
                      
    <img src="<%=request.getContextPath()%>/img/nodeDef/cancel.gif" onClick="closes()" />
                    
    </td>
                
    </tr>
            
    </table>          
          
    </td>
        
    </tr>
        
    <tr>
          
    <th width="45" scope="col">序號</th>
          
    <th width="141" scope="col">成本節(jié)點名稱</th>
          
    <th width="95" scope="col">費用(萬元)</th>
          
    <th width="239" scope="col">工作量</th>
        
    </tr>

        
    <tr>
          
    <td align="center" valign="middle">1</td>
          
    <td>常用材料費</td>
          
    <td align="center" valign="middle">20</td>
          
    <td align="center" valign="middle">本周工作量上馬工程,30噸。</td>
        
    </tr>
        
        ……
      
    </table>
              
      
    </div>
            
    </div>


    四、拖動右鍵彈出窗口

    <!-- 拖動窗口要使用到一個js組件dom-drag.js,有意者請到網(wǎng)絡(luò)上下載。 -->
    <script type="text/javascript" language="javascript" src="js/dom-drag.js"></script>
    <script>
    function initDomDrag(handleID, rootID) {
        
    var handle = document.getElementById(handleID);
        
    var root = document.getElementById(rootID);
        Drag.init(handle, root); 
    }

          //拖動右鍵彈出對象初始化(PopMenu和PopHandle請參見本文中的那段html代碼,分別是該段html代碼中的兩個div的標識)
          initDomDrag("PopHandle", "PopMenu");


    </script>


    dom-drgs.js可通過百度該關(guān)鍵詞查找并下載,也可以通過本地址/Files/SpartaYew/dom-drag.txt(因為不能上傳以.js為后綴的文件,因此后綴名修改為.txt)進行下載。

    五、關(guān)閉右鍵彈出窗口

    <script>

    function closes(){
     
    var popmenu = document.getElementById('PopMenu');
     popmenu.style.visibility
    ='hidden';
    }

     
    </script>


                -東營 sparta-紫杉 原創(chuàng),轉(zhuǎn)載請注明出處 :)
                http://www.tkk7.com/SpartaYew/
                SpartaYew@163.com
     
                
    QQ:22086526

    posted on 2011-05-19 11:09 sparta-紫杉 閱讀(610) 評論(0)  編輯  收藏 所屬分類: JavaScript


    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導航:
     
    主站蜘蛛池模板: 精品熟女少妇AV免费观看| 亚洲国产精品成人网址天堂| 亚洲精品天堂成人片AV在线播放| 免费一级做a爰片久久毛片潮喷| 久久WWW免费人成—看片| 久久久久亚洲精品日久生情| 在线日韩av永久免费观看| 99精品视频在线观看免费| 亚洲av成人一区二区三区| 亚洲人成色77777在线观看大 | 国产亚洲欧美在线观看| 亚洲欧洲成人精品香蕉网| 久久不见久久见中文字幕免费 | 青草久久精品亚洲综合专区| 国产AV无码专区亚洲AVJULIA| 毛片在线免费视频| 久久国产精品成人免费| 亚洲AV无码国产一区二区三区| 亚洲AV无码一区东京热久久 | 亚洲国产精品成人久久| 午夜免费福利在线| 777成影片免费观看| 一级黄色免费大片| 亚洲精品天堂在线观看| 国产A在亚洲线播放| 免费jjzz在在线播放国产| 亚洲免费福利在线视频| a级毛片在线视频免费观看| 久久精品国产亚洲AV| 亚洲国产精品成人精品软件| 国产精品亚洲片在线| 全黄a免费一级毛片人人爱| 免费观看激色视频网站(性色)| 色www永久免费| 欧洲精品码一区二区三区免费看| 久久久久精品国产亚洲AV无码| 亚洲国产综合专区在线电影| 国产精品亚洲综合一区| 四虎永久免费网站免费观看| 免费看国产精品3a黄的视频| 国产成人免费午夜在线观看|