示例1:

关于事件对象

MSIE:window.event,  cancelBubble,  returnValue,  srcElement, button(鼠标按键,1,4,2,左中右)

W3C:event,  stopPropagation(),  preventDefault(),  target,  button(鼠标按键,0,1,2,左中右)

示例2:

得到页面中某点坐标

示例代码:

function getPointInPage(eventObject) {
            eventObject = eventObject || getEventObject(eventObject);
            var w3cDom = document.documentElement;
            return {
                'x': eventObject.pageX || (eventObject.clientX + w3cDom.scrollLeft) || document.body.scrollLeft,
                'y': eventObject.pageY || (eventObject.clientY + w3cDom.scrollTop) || doucument.body.scrollTop
            };
        }

示例3:

将连字符型字符串变为驼峰型字符串

  示例代码:

function camelize(str) {
            return str.replace(/\-(\w)/g, function (allMathches, part1) {
                return part1.toUpperCase();
            });
        }

alert(camelize('s-a-ad-ee'));

=>  sAAdEe

示例4:

  将驼峰型字符串变为连字符型字符串

  示例代码:

function unCamelize(str) {
            return str.replace(/([A-Z])/g, function (allMathes, part1) {
                return '-' + part1.toLowerCase();
            });
        }      

示例5:

得到节点类名

示例代码:

String.prototype.trim = function () {
            return this.replace(/^\s+|\s+$/g, '');
        };
        function getClassName(element){
            return element.className.replace(/\s+/g, ' ').trim().split(' ');
        }
        var arr = getClassName(document.getElementById('ceshi'));
        for (var i = 0; i < arr.length; i++) {
            console.log(arr[i]);
        }

示例6:

  判定某节点是否含有某类名

  示例代码:

function hasClassName (element, className) {
            if (!(element = $(element))) {
                return false;
            }
            var classArr = getClassName(element);
            for (var i = 0; i < classArr.length; i++) {
                if (classArr[i] === className) {
                    return true;
                }
            }
            return false;
        }

示例7:

  关于值传递,共享对象

  示例代码:

var arr = [3, 5, 55, 25];
        var len = arr.length;
        alert(arr.length);
        arr.splice(1, 1);
        alert(arr.length);
        alert(len);

   =>  4

   =>  3

   =>  4

示例8:

  增加类名

  示例代码:

function addClassName(element, className) {
            if (!(element = $(element))) {
                return false;
            }
            if (element.className) {
                element.className += (element.className ? ' ' : '') + className;
            }
            return true;
        }

示例9:

  删除类名

  示例代码:

function removeClassName(element, className) {
            if (!(element = $(element))) {
                return false;
            }
            var classArr = getClassName(element);
            var len = classArr.length;
            for (var i = (len - 1), i >= 0; i--) {
                if (classArr[i] === className) {
                    arr.splice(i, 1);
                }
            }
            return (len === arr.length) ? false : true;
        } 

示例10

  设置节点样式

  示例代码:

function setStyle(element, styles) {
            if (!(element = $(element))) {
                return false;
            }
            for (property in styles) {
                if (styles.hasOwnProperty(property)) {
                    if (element.style.setProperty) {
                        element.style.setProperty(unCamelize(property), styles[property], null);  //第三个参数,设置优先级
                    } else {
                        element.style[camelize(property)] = styles[property];
                    }
                }
            }
        }

示例11

  获得节点某样式

  示例代码:

function getStyle(element, property) {
            if (!(element = $(element))) {
                return false;
            }
            var value = element.style[camelize(poperty)];
            if (!value) {
                if (document.defaultView && document.defaultView.getComputedStyle) {
                    var css = document.defaultView.getComputedStyle(element, null);  //第二个参数代表伪类
                    value = (css ? css.getPropertyValue(property) :null);
                } else if (element.currentStyle) {
                    value = element.currentStyle[camelize(property)];
                }
            }
            return value === 'auto' ? '' : value;
        }

  

 

2015-02-08——js笔记的更多相关文章

  1. 02: vue.js常用指令

    目录:Vue其他篇 01: vue.js安装 02: vue.js常用指令 目录: 1.1 vuejs简介 1.2 选择器:根据id.class等查找 1.3 静态绑定数据 data 1.4 插值 { ...

  2. Data Visualization and D3.js 笔记(1)

    课程地址: https://classroom.udacity.com/courses/ud507 什么是数据可视化? 高效传达一个故事/概念,探索数据的pattern 通过颜色.尺寸.形式在视觉上表 ...

  3. js笔记-0

    #js笔记-0 数组: indexOf方法: Array也可以通过indexOf()来搜索一个指定的元素的位置: var arr = [10, 20, '30', 'xyz']; arr.indexO ...

  4. Storm(2015.08.12笔记)

    2015.08.12Storm   一.Storm简介 Storm是Twitter开源的一个类似于Hadoop的实时数据处理框架.   Storm能实现高频数据和大规模数据的实时处理. 官网资料显示s ...

  5. Zookepper(2015.08.16笔记)

    2015.08.16zookepper   Zookeeper 是 Google 的 Chubby一个开源的实现,是 Hadoop 的分布式协调服务(如同小区里面的供水.电的系统) 它包含一个简单的原 ...

  6. Node.js 笔记02

    一.关于命令 常用命令: dir 列出当前目录下面所有的文件 cd 目录名 进入到指定的目录,. 当前目录, .. 进入上级目录,cd . 当前目录, cd .. 上级目录 md 目录名 创建文件夹 ...

  7. 2015年10月23日JS笔记

    ECMAScript标准:JavaScript核心语法 微软:Jscript ECMAScript标准:一纸空文 JavaScript和JScritp都号称完全实现了 ECMAScript标准 W3C ...

  8. JS笔记—02

    1.String截取:substr:截几位, substring:截到哪. 2.String的操作,例如变大写,小写,本身不会变,只是在栈里交换引用似的 var str = "hello w ...

  9. iOS 学习笔记 二 (2015.02.26)

    How To Use Git Source Control with Xcode in iOS 6 If you're new here, you may want to subscribe to m ...

  10. iOS 学习笔记 一 (2015.02.05)

    一:Xcode6输入框设置为 keyboard type设置为Number Pad弹不出键盘的解决办法   问题:Can't find keyplane that supports type 4 fo ...

随机推荐

  1. wireshark过滤语法总结 (转载)

    做应用识别这一块经常要对应用产生的数据流量进行分析. 抓包采用wireshark,提取特征时,要对session进行过滤,找到关键的stream,这里总结了wireshark过滤的基本语法,供自己以后 ...

  2. mongoDB 数据导出之mongoexport的用法

     http://tuozixuan.iteye.com/blog/1321994     实战代码: #mongo导出 mongoexport --port 33001  -d bsdf_soe -c ...

  3. oci学习

    http://www.cnblogs.com/ychellboy/archive/2010/04/16/1713884.html oci官方文档 Call Interface Programmer's ...

  4. asp.net+mvc+easyui+sqlite 简单用户系统学习之旅(六)—— 简单过滤器的使用

    有些同学喜欢在测试或运行项目时,直接跳转页面到Home/Index下,但本次项目直接输入Home/Index则会报错 因为home/index中有个user.name参数,如果启动项目后直接跳转到ho ...

  5. SQL Server事务详解

    事务定义: 事务是单个的工作单元.如果某一事务成功,则在该事务中进行的所有数据更改均会提交,成为数据库中的永久组成部分.如果事务遇到错误且必须取消或回滚,则所有数据更改均被清除. 事务三种运行模式:  ...

  6. NIO之DatagramChannel

    Java NIO中的DatagramChannel是一个能收发UDP包的通道.操作步骤: 1)打开 DatagramChannel 2)接收/发送数据 同样它也支持NIO的非阻塞模式操作,例如: pu ...

  7. ubuntu 12.04LTS下jdk 6安装记录

    这两天突然对ubuntu产生了兴趣,决定来折腾一下,:-) 由于开发一般都是在java上进行,所以第一步就是得把环境搭建好,折腾了一会儿,现在把过程记录一下. Step 1 下载jdk6 地址是 ht ...

  8. iOS masonry布局在iOS11/12上正常 iOS9/10却异常

    使用masonry布局,可以布局一套,适配所有机型,但是有时候会出现一些比较特殊的情况,每次iOS11上面开发,开发完成之后,在iOS9,iOS10上查看的时候发现布局与iOS11不完全一致,有的高度 ...

  9. 设计模式中类的关系之组合关系(Composition)

    组合也是关联关系的一种特例,它体现的是一种contains-a的关系,这种关系比聚合更强,也称为强聚合:它同样体现整体与部分间的关系,但此时整体与部分是不可分的,它们具有统一的生存期,整体的生命周期结 ...

  10. OpenFiler configuration

    5.OpenFiler configuration   登录Openfiler   步骤1:安装 FireFox   步骤2:通过FireFox以HTTPS://server-ip:446 远程访问O ...