一些CSS/JS小技巧
CSS部分
1、文本框不可点击
.inputDisabled{ background-color: #eee;cursor: not-allowed;}
2、禁止复制粘贴
onpaste="return false" oncontextmenu="return false" oncopy="return false" oncut="return false"
JS部分
1、实现复选框部分选中状态
<input id="chk1" type="checkbox" />
<script>
document.getElementById('chk1').indeterminate = true;
</script>
2、浅拷贝 参考:http://www.ruanyifeng.com/blog/2010/05/object-oriented_javascript_inheritance_continued.html
 function extendCopy(p) {
     var c = {};
     for (var i in p) {      
         c[i] = p[i];    
     }
     c.uber = p;
     return c;  
 }
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(包括)的随机整数。
 function selectFrom(lowerValue, upperValue) {
     var choices = upperValue - lowerValue + 1;
     return Math.floor(Math.random() * choices + lowerValue);
 }
5、确定属性是原型中的属性
 function hasPrototypeProperty(object, name) {
     return !object.hasOwnProperty(name) && (name in object);
 }
6、跨浏览器取得窗口左边和上边的位置
var leftPos = (typeof window.screenLeft == "number") ? window.screenLeft : window.screenX;
var topPos = (typeof window.screenTop == "number") ? window.screenTop : window.screenY;
7、获取地址栏参数
/*
获取页面url参数
调用方法:
alert(GetQueryString("参数名1"));
alert(GetQueryString("参数名2"));
*/
function getQueryString(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
var r = window.location.search.substr(1).match(reg);
if (r != null) return unescape(r[2]);
return null;
}
/*
获取页面url参数
调用方法:
Request = GetRequest();
var 参数1,参数2,参数3,参数N;
参数1 = Request['参数1'];
参数2 = Request['参数2']; */
function GetRequest() {
var url = location.search; //获取url中"?"符后的字串
var theRequest = new Object();
if (url.indexOf("?") != -1) {
var str = url.substr(1);
strs = str.split("&");
for (var i = 0; i < strs.length; i++) {
theRequest[strs[i].split("=")[0]] = unescape(strs[i].split("=")[1]);
}
}
return theRequest;
}
8、计算元素在页面的偏移量
//左偏移量
function getElementLeft(element) {
var actualLeft = element.offsetLeft;
var current = element.offsetParent;
while (current !== null) {
actualLeft += current.offsetLeft;
current = current.offsetParent;
}
return actualLeft;
}
//上偏移量
function getElementTop(element) {
var actualTop = element.offsetTop;
var current = element.offsetParent;
while (current !== null) {
actualTop += current.offsetTop;
current = current.offsetParent;
}
return actualTop;
}
9、判断浏览器类型
 function getBrowserType() {
     var ua = navigator.userAgent.toLowerCase(), browserType = "";
     if (window.ActiveXObject) {
         //Sys.ie = ua.match(/msie ([\d.]+)/)[1];
         Sys.ie = ua;
         browserType = "IE";
     }
     else if (document.getBoxObjectFor) {
         //Sys.firefox = ua.match(/firefox\/([\d.]+)/)[1];
         Sys.firefox = ua;
         browserType = "firefox";
     }
     else if (window.MessageEvent && !document.getBoxObjectFor) {
         //Sys.chrome = ua.match(/chrome\/([\d.]+)/)[1];
         Sys.chrome = ua;
         browserType = "chrome";
     }
     else if (window.opera) {
         //Sys.opera = ua.match(/opera.([\d.]+)/)[1];
         Sys.opera = ua;
         browserType = "opera";
     }
     else if (window.openDatabase) {
         //Sys.safari = ua.match(/version\/([\d.]+)/)[1];
         Sys.safari = ua;
         browserType = "safari";
     }
     return browserType;
 }
一些CSS/JS小技巧的更多相关文章
- html/css/js小技巧实例
		一些学习中碰到的小技巧 让div自动撑起来: .clearfix:after{ content: "."; clear: both; display: block; visibil ... 
- CSS 黑魔法小技巧,让你少写不必要的JS,代码更优雅
		首页 登录注册 CSS 黑魔法小技巧,让你少写不必要的JS,代码更优雅 阅读 8113 收藏 927 2017-09-26 原文链接:github.com 腾讯云容器服务CSS,立 ... 
- css的小技巧
		前几天看到<css揭秘>这本书,第一感觉是 css怎么能出这么厚的一本书,不过 细细一想,用好css真的可以实现很多想要的效果,节省很多js代码. 总结几个css的小技巧: 1,将所有元素 ... 
- [转载]Js小技巧||给input type=“password”的输入框赋默认值
		http://www.cnblogs.com/Raywang80s/archive/2012/12/06/2804459.html [转载]Js小技巧||给input type="passw ... 
- 第八十四节,css布局小技巧及font-awesome图标使用
		css布局小技巧及font-awesome图标使用 图片鼠标放上去遮罩效果,显示文字 当鼠标放上去时 /*最外层div*/ .a{ width: 384px; height: 240px; backg ... 
- js小技巧总结
		js小技巧总结 1.Array.includes条件判断 function test(fruit) { const redFruits = ["apple", "stra ... 
- css样式小技巧
		1.css样式小技巧 HTML怎样设定使背景图片不随页面滚动而滚动 background-attachment:fixed; 2.实现li a 超过长度内容出现省略号… overflow:hidden ... 
- javascript小技巧-js小技巧收集(转)
		本文转载自:http://blog.csdn.net/ocean20/article/details/2498699 每一项都是js中的小技巧,但十分的实用! 1.document.write(&qu ... 
- 一些常用的html/CSS效果---小技巧
		我常用的重置样式表reset.css /*===============基础信息================*/ *{border: 0;padding: 0;margin: 0;} table ... 
随机推荐
- Win7_x64_Oracle 安装 PL/SQL Developer
			Win7逐渐成为现行主流的windows操作系统,其32和64位系统平分秋色.然而当下还没有64位的PL/SQL Developer问世,直接用32位的PL/SQL Developer连接Win7(6 ... 
- 一个简单的php站点配置
			一个简单的php站点配置 现在我们来看在一个典型的,简单的PHP站点中,nginx怎样为一个请求选择location来处理: server { listen 80; ... 
- Hadoop伪分布安装配置
			安装环境: 系统:Ubuntu 14.10 64bit hadoop:2.5.1 jdk:1.8.0_11 安装步骤: 一.安装JDK 安装 jdk,并且配置环境以及设置成默认 sudo gedi ... 
- Collection和Map
			(1)Collection和Map的继承体系. (2)ArrayList(数组).LinkedList(链表).Vector(线程同步).Stack(继承Vector先进后出的栈).PriorityQ ... 
- 一个小时学会MySQL数据库
			随着移动互联网的结束与人工智能的到来大数据变成越来越重要,下一个成功者应该是拥有海量数据的,数据与数据库你应该知道. 一.数据库概要 数据库(Database)是存储与管理数据的软件系统,就像一个存入 ... 
- Jquery的学习:基础核心!
			一.什么是 jQuery jQuery是一个JavaScript库,它通过封装原生的JavaScript函数得到一整套定义好的方法.它的作者是John Resig,于2006年创建的一个开源项目,随着 ... 
- 3856: Monster
			3856: Monster Time Limit: 1 Sec Memory Limit: 64 MBSubmit: 351 Solved: 161[Submit][Status][Discuss ... 
- 1821: [JSOI2010]Group 部落划分 Group
			1821: [JSOI2010]Group 部落划分 Group Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 1308 Solved: 627[Su ... 
- 1641: [Usaco2007 Nov]Cow Hurdles 奶牛跨栏
			1641: [Usaco2007 Nov]Cow Hurdles 奶牛跨栏 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 424 Solved: 272 ... 
- Linux centos7环境下安装Nginx
			Linux centos7环境下安装Nginx的步骤详解 1. 首先到Nginx官网下载Nginx安装包 http://nginx.org/download/nginx-1.5.9.tar.gz ... 
