zoukankan      html  css  js  c++  java
  • 第十二节(项目实战2-桌面)

    注:图片跟jquery-1.11.1.min.js可网上下载。
    
    
    <style type="text/css">
                *{margin:0;padding:0;}
                body{background:url("images/bg.jpg");font-size:12px;font-family:"微软雅黑";color:#666;}
                /*menu start*/
                .menu{200px;background:#fff;box-shadow:1px 1px 40px #ccc;display:none;position:absolute;}
                .menu ul li{list-style:none;line-height:36px;font-size:14px;padding-left:10px;border-bottom:1px solid #ddd;}
                .menu ul li:hover{background:#647E7C;color:#fff;}
                /*end menu*/
    
                #zb{font-size:30px;color:#fff;text-align:center;}
    
    </style>
    
    
    <body>
    
        <!--menu start-->
        <div class="menu">
            <ul>
                <li onclick="tz_menu(1);">添加应用</li>
                <li onclick="tz_menu(2);">获取课程</li>
                <li onclick="tz_menu(3);">添加笔记</li>
                <li onclick="tz_menu(4);">刷新</li>
                <li onclick="tz_menu(5);">上传资料</li>
                <li onclick="tz_menu(6);">更换背景</li>
                <li onclick="tz_menu(7);">注销</li>
            </ul>
        </div>
        <!--end menu-->
    
        <p id="zb"></p>
    
    
    <script type="text/javascript" src="js/jquery-1.11.1.min.js"></script>
    <script type="text/javascript">
    
        // 屏蔽浏览器自带的右键
        document.oncontextmenu = function(){
            return false;
        }
    
        // 点击鼠标键
        $(document).mousedown(function(e){
            // 鼠标键 1(左键),2鼠标滚轮,3右键
            var key = e.which; 
            // 点击鼠标右键
            if(key == 3){
                var x = e.clientX; // x 横坐标
                var y = e.clientY; // y 纵坐标
                // $("#zb").html("x = " + x + "  ,  y = " + y); 显示坐标值
    
                // 获取menu的宽度和高度
                var menuHeight = $(".menu").height();
                var menuWidth = $(".menu").width();
                // 获取浏览器的可见高度和宽度
                var clientHeight = getClientHeight();
                var clientWidth = getClientWidth();
                // 判断
                if(menuHeight + y > clientHeight){
                    y = clientHeight - menuHeight - 5;
                }
                if(menuWidth + x > clientWidth){
                    x = clientWidth - menuWidth - 5;
                }
                $(".menu").show().css({left:x,top:y});
            }
    
        });
    
        // 点击空白区域 隐藏鼠标右键
        $(document).click(function(){
            $(".menu").hide();
        });
        
    
        // 点击每一项右键所需要执行的方法
        function tz_menu(i){
            if(i == 1){
                alert("添加应用");
            } else if(i == 2){
                alert("获取课程");
            }
        }
        
    
        // 浏览器的可见高度
        function getClientHeight() {
            var clientHeight = 0;
            if (document.body.clientHeight && document.documentElement.clientHeight) {
                clientHeight = (document.body.clientHeight < document.documentElement.clientHeight) ? document.body.clientHeight: document.documentElement.clientHeight;
            } else {
                clientHeight = (document.body.clientHeight > document.documentElement.clientHeight) ? document.body.clientHeight: document.documentElement.clientHeight;
            }
            return clientHeight;
        }
    
        // 浏览器的可见宽度
        function getClientWidth() {
            var clientWidth = 0;
            if (document.body.clientWidth && document.documentElement.clientWidth) {
                clientWidth = (document.body.clientWidth < document.documentElement.clientWidth) ? document.body.clientWidth: document.documentElement.clientWidth;
            } else {
                clientWidth = (document.body.clientWidth > document.documentElement.clientWidth) ? document.body.clientWidth: document.documentElement.clientWidth;
            }
            return clientWidth;
        }
    
    </script>
    
    </body>

    效果:
    
    
  • 相关阅读:
    Argparse4j
    Socket通信中的 BeginReceive与EndReceive
    socket 异步通信的一些问题
    static 还是readonly 还是static readonly
    隐藏Android下的虚拟按键
    IIS上架设https网站证书处理备忘
    [转] 移动平台Html5的viewport使用经验
    Air File.load加载问题
    x64位windows 2003 server中“Server 对象 错误 'ASP 0177 : 800700c1' Server.CreateObject 失败”问题
    报 "错误: 无法取消引用int" 的问题解决纪录
  • 原文地址:https://www.cnblogs.com/Deng1185246160/p/4245581.html
Copyright © 2011-2022 走看看