CSS部分

1、文本框不可点击

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

2、禁止复制粘贴

  1. onpaste="return false" oncontextmenu="return false" oncopy="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

  1. function deepCopy(p, c) {    
  2. var c = c || {};    
  3. for (var i in p) {      
  4. if (typeof p[i] === 'object') {        
  5. c[i] = (p[i].constructor === Array) ? [] : {};        
  6. deepCopy(p[i], c[i]);      
  7. } else {         
  8. c[i] = p[i];      
  9. }    
  10. }    
  11. return c;  
  12. }

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. }

一些CSS/JS小技巧的更多相关文章

  1. html/css/js小技巧实例

    一些学习中碰到的小技巧 让div自动撑起来: .clearfix:after{ content: "."; clear: both; display: block; visibil ...

  2. CSS 黑魔法小技巧,让你少写不必要的JS,代码更优雅

    首页   登录注册         CSS 黑魔法小技巧,让你少写不必要的JS,代码更优雅 阅读 8113 收藏 927 2017-09-26 原文链接:github.com 腾讯云容器服务CSS,立 ...

  3. css的小技巧

    前几天看到<css揭秘>这本书,第一感觉是 css怎么能出这么厚的一本书,不过 细细一想,用好css真的可以实现很多想要的效果,节省很多js代码. 总结几个css的小技巧: 1,将所有元素 ...

  4. [转载]Js小技巧||给input type=“password”的输入框赋默认值

    http://www.cnblogs.com/Raywang80s/archive/2012/12/06/2804459.html [转载]Js小技巧||给input type="passw ...

  5. 第八十四节,css布局小技巧及font-awesome图标使用

    css布局小技巧及font-awesome图标使用 图片鼠标放上去遮罩效果,显示文字 当鼠标放上去时 /*最外层div*/ .a{ width: 384px; height: 240px; backg ...

  6. js小技巧总结

    js小技巧总结 1.Array.includes条件判断 function test(fruit) { const redFruits = ["apple", "stra ...

  7. css样式小技巧

    1.css样式小技巧 HTML怎样设定使背景图片不随页面滚动而滚动 background-attachment:fixed; 2.实现li a 超过长度内容出现省略号… overflow:hidden ...

  8. javascript小技巧-js小技巧收集(转)

    本文转载自:http://blog.csdn.net/ocean20/article/details/2498699 每一项都是js中的小技巧,但十分的实用! 1.document.write(&qu ...

  9. 一些常用的html/CSS效果---小技巧

    我常用的重置样式表reset.css /*===============基础信息================*/ *{border: 0;padding: 0;margin: 0;} table ...

随机推荐

  1. 百度网盘免费扩容 免费扩容到2048G

    您可以用手机端扩容 http://yun.baidu.com/1t 免费扩容到2048G

  2. HTML5之地理位置

    在HTML5中,为window.navigator对象新增了一个geolocation属性,可以使用Geolocation API来对该属性进行访问,该属性存在以下三个方法. 获取当前地理位置 voi ...

  3. 自定义cell设置现价,原价(加横线)

    原价,现价分别是连个label.这两个label不能直接限制死他们的宽度,因为他们的宽度不确定,而由于lable的特殊性,不设置它的宽度约束时,宽度取决于文字的内容,所以两个lable的约束设置好一些 ...

  4. .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. ...

  5. vue入门 vue与react和Angular的关系和区别

    一.为什么学习vue.js vue.js兼具angular.js和react的优点,并且剔除了他们的缺点 官网:http://cn.vuejs.org/ 手册:http://cn.vuejs.org/ ...

  6. weblogic 双机集群搭建

    weblogic 双机集群搭建,基本步骤引用百度文库的一篇文章: wenlogic双机集群基本步骤 下面详解一下该文章搭建后会遇到的问题: 1. 主机名验证失败 javax.net.ssl.SSLKe ...

  7. 1637: [Usaco2007 Mar]Balanced Lineup

    1637: [Usaco2007 Mar]Balanced Lineup Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 393  Solved: 263[ ...

  8. C++ 容器对象vector和list 的使用

    在<<c++ primer>>第四版Exercise Section 9.3.4 的Exercise 9.20 是这样的一道题目:编写程序判断一个vector<int&g ...

  9. Alamofire源码解读系列(六)之Task代理(TaskDelegate)

    本篇介绍Task代理(TaskDelegate.swift) 前言 我相信可能有80%的同学使用AFNetworking或者Alamofire处理网络事件,并且这两个框架都提供了丰富的功能,我也相信很 ...

  10. BootStrap入门教程 (四)

    本文转自 http://www.cnblogs.com/ventlam/archive/2012/06/17/2536728.html 上讲回顾:Bootstrap组件丰富同时具有良好可扩展性,能够很 ...