一些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 ...
随机推荐
- 百度网盘免费扩容 免费扩容到2048G
您可以用手机端扩容 http://yun.baidu.com/1t 免费扩容到2048G
- HTML5之地理位置
在HTML5中,为window.navigator对象新增了一个geolocation属性,可以使用Geolocation API来对该属性进行访问,该属性存在以下三个方法. 获取当前地理位置 voi ...
- 自定义cell设置现价,原价(加横线)
原价,现价分别是连个label.这两个label不能直接限制死他们的宽度,因为他们的宽度不确定,而由于lable的特殊性,不设置它的宽度约束时,宽度取决于文字的内容,所以两个lable的约束设置好一些 ...
- .Net程序员学用Oracle系列(20):层次查询(CONNECT BY)
1.层次查询语句 1.1.CONNECT BY 语法 1.2.CONNECT BY 示例 2.层次查询函数 2.1.SYS_CONNECT_BY_PATH 2.2.WMSYS.WM_CONCAT 2. ...
- vue入门 vue与react和Angular的关系和区别
一.为什么学习vue.js vue.js兼具angular.js和react的优点,并且剔除了他们的缺点 官网:http://cn.vuejs.org/ 手册:http://cn.vuejs.org/ ...
- weblogic 双机集群搭建
weblogic 双机集群搭建,基本步骤引用百度文库的一篇文章: wenlogic双机集群基本步骤 下面详解一下该文章搭建后会遇到的问题: 1. 主机名验证失败 javax.net.ssl.SSLKe ...
- 1637: [Usaco2007 Mar]Balanced Lineup
1637: [Usaco2007 Mar]Balanced Lineup Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 393 Solved: 263[ ...
- C++ 容器对象vector和list 的使用
在<<c++ primer>>第四版Exercise Section 9.3.4 的Exercise 9.20 是这样的一道题目:编写程序判断一个vector<int&g ...
- Alamofire源码解读系列(六)之Task代理(TaskDelegate)
本篇介绍Task代理(TaskDelegate.swift) 前言 我相信可能有80%的同学使用AFNetworking或者Alamofire处理网络事件,并且这两个框架都提供了丰富的功能,我也相信很 ...
- BootStrap入门教程 (四)
本文转自 http://www.cnblogs.com/ventlam/archive/2012/06/17/2536728.html 上讲回顾:Bootstrap组件丰富同时具有良好可扩展性,能够很 ...