一些CSS/JS小技巧

CSS部分

1、文本框不可点击

.inputDisabled{ background-color: #eee;cursor: not-allowed;}

2、禁止复制粘贴

οnpaste="return false" οncοntextmenu="return false" οncοpy="return false" oncut="return false"

 

 

JS部分

1、实现复选框部分选中状态

1 <input id="chk1" type="checkbox" />
2 <script>
3     document.getElementById('chk1').indeterminate = true;
4 </script>

 2、浅拷贝  参考:http://www.ruanyifeng.com/blog/2010/05/object-oriented_javascript_inheritance_continued.html

1 function extendCopy(p) {
2     var c = {};
3     for (var i in p) {      
4         c[i] = p[i];    
5     }
6     c.uber = p;
7     return c;  
8 }

3、深拷贝  参考:http://www.ruanyifeng.com/blog/2010/05/object-oriented_javascript_inheritance_continued.html

function deepCopy(p, c) {    
    var c = c || {};    
    for (var i in p) {      
        if (typeof p[i] === 'object') {        
            c[i] = (p[i].constructor === Array) ? [] : {};        
            deepCopy(p[i], c[i]);      
        } else {         
            c[i] = p[i];      
        }    
    }    
    return c;  
}

 4、生成lowerValue(包括)到 upperValue(包括)的随机整数。

1 function selectFrom(lowerValue, upperValue) {
2     var choices = upperValue - lowerValue + 1;
3     return Math.floor(Math.random() * choices + lowerValue);
4 }

 5、确定属性是原型中的属性

1 function hasPrototypeProperty(object, name) {
2     return !object.hasOwnProperty(name) && (name in object);
3 }

6、跨浏览器取得窗口左边和上边的位置

1 var leftPos = (typeof window.screenLeft == "number") ? window.screenLeft : window.screenX;
2 var topPos = (typeof window.screenTop == "number") ? window.screenTop : window.screenY;

 7、获取地址栏参数

 1 /*
 2 获取页面url参数
 3 调用方法:
 4 alert(GetQueryString("参数名1"));
 5 alert(GetQueryString("参数名2")); 
 6 */
 7 function getQueryString(name) {
 8     var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
 9     var r = window.location.search.substr(1).match(reg);
10     if (r != null) return unescape(r[2]);
11     return null;
12 }
13 /*
14 获取页面url参数
15 调用方法:
16 Request = GetRequest(); 
17 var 参数1,参数2,参数3,参数N; 
18 参数1 = Request['参数1']; 
19 参数2 = Request['参数2']; 
20 
21 */
22 function GetRequest() {
23     var url = location.search; //获取url中"?"符后的字串 
24     var theRequest = new Object();
25     if (url.indexOf("?") != -1) {
26         var str = url.substr(1);
27         strs = str.split("&");
28         for (var i = 0; i < strs.length; i++) {
29             theRequest[strs[i].split("=")[0]] = unescape(strs[i].split("=")[1]);
30         }
31     }
32     return theRequest;
33 }

 8、计算元素在页面的偏移量

 1 //左偏移量
 2 function getElementLeft(element) {
 3     var actualLeft = element.offsetLeft;
 4     var current = element.offsetParent;
 5     while (current !== null) {
 6         actualLeft += current.offsetLeft;
 7         current = current.offsetParent;
 8     }
 9     return actualLeft;
10 }
11 //上偏移量
12 function getElementTop(element) {
13     var actualTop = element.offsetTop;
14     var current = element.offsetParent;
15     while (current !== null) {
16         actualTop += current.offsetTop;
17         current = current.offsetParent;
18     }
19     return actualTop;
20 }

 9、判断浏览器类型

 1 function getBrowserType() {
 2     var ua = navigator.userAgent.toLowerCase(), browserType = "";
 3     if (window.ActiveXObject) {
 4         //Sys.ie = ua.match(/msie ([\d.]+)/)[1];
 5         Sys.ie = ua;
 6         browserType = "IE";
 7     }
 8     else if (document.getBoxObjectFor) {
 9         //Sys.firefox = ua.match(/firefox\/([\d.]+)/)[1];
10         Sys.firefox = ua;
11         browserType = "firefox";
12     }
13     else if (window.MessageEvent && !document.getBoxObjectFor) {
14         //Sys.chrome = ua.match(/chrome\/([\d.]+)/)[1];
15         Sys.chrome = ua;
16         browserType = "chrome";
17     }
18     else if (window.opera) {
19         //Sys.opera = ua.match(/opera.([\d.]+)/)[1];
20         Sys.opera = ua;
21         browserType = "opera";
22     }
23     else if (window.openDatabase) {
24         //Sys.safari = ua.match(/version\/([\d.]+)/)[1];
25         Sys.safari = ua;
26         browserType = "safari";
27     }
28     return browserType;
29 }

 

转载于:https://www.cnblogs.com/gaozejie/p/5072503.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值