2015-02-08——js笔记
示例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笔记的更多相关文章
- 02: vue.js常用指令
目录:Vue其他篇 01: vue.js安装 02: vue.js常用指令 目录: 1.1 vuejs简介 1.2 选择器:根据id.class等查找 1.3 静态绑定数据 data 1.4 插值 { ...
- Data Visualization and D3.js 笔记(1)
课程地址: https://classroom.udacity.com/courses/ud507 什么是数据可视化? 高效传达一个故事/概念,探索数据的pattern 通过颜色.尺寸.形式在视觉上表 ...
- js笔记-0
#js笔记-0 数组: indexOf方法: Array也可以通过indexOf()来搜索一个指定的元素的位置: var arr = [10, 20, '30', 'xyz']; arr.indexO ...
- Storm(2015.08.12笔记)
2015.08.12Storm 一.Storm简介 Storm是Twitter开源的一个类似于Hadoop的实时数据处理框架. Storm能实现高频数据和大规模数据的实时处理. 官网资料显示s ...
- Zookepper(2015.08.16笔记)
2015.08.16zookepper Zookeeper 是 Google 的 Chubby一个开源的实现,是 Hadoop 的分布式协调服务(如同小区里面的供水.电的系统) 它包含一个简单的原 ...
- Node.js 笔记02
一.关于命令 常用命令: dir 列出当前目录下面所有的文件 cd 目录名 进入到指定的目录,. 当前目录, .. 进入上级目录,cd . 当前目录, cd .. 上级目录 md 目录名 创建文件夹 ...
- 2015年10月23日JS笔记
ECMAScript标准:JavaScript核心语法 微软:Jscript ECMAScript标准:一纸空文 JavaScript和JScritp都号称完全实现了 ECMAScript标准 W3C ...
- JS笔记—02
1.String截取:substr:截几位, substring:截到哪. 2.String的操作,例如变大写,小写,本身不会变,只是在栈里交换引用似的 var str = "hello w ...
- 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 ...
- iOS 学习笔记 一 (2015.02.05)
一:Xcode6输入框设置为 keyboard type设置为Number Pad弹不出键盘的解决办法 问题:Can't find keyplane that supports type 4 fo ...
随机推荐
- Python爬取豆瓣《复仇者联盟3》评论并生成乖萌的格鲁特
代码地址如下:http://www.demodashi.com/demo/13257.html 1. 需求说明 本项目基于Python爬虫,爬取豆瓣电影上关于复仇者联盟3的所有影评,并保存至本地文件. ...
- ibatis中<![CDATA[使用解释
http://hi.baidu.com/taoxincheng0/blog/item/3916c4ec413f03c22e2e2160.html ibatis中什么时候需要用到: <![CDAT ...
- 查看、修改linux系统的最大链接数限制、文件描述符限制、端口范围限制、虚拟内存等
一.修改最大连接数 1.查看当前文件描述符的限制数目的命令: ulimit -n 2.修改文件描述符的限制数目 2.1 临时改变当前会话: ulimit -n 65536 2.2 永久变更需要下面两个 ...
- W25Q128页数和扇区数
int8_t STORAGE_GetCapacity (uint8_t lun, uint32_t *block_num, uint32_t *block_size){ *block_size = 4 ...
- pouchdb快速入门教程
a:focus { outline: thin dotted #333; outline: 5px auto -webkit-focus-ring-color; outline-offset: -2p ...
- unity, use particleSystem with UGUI
要想在UGUI上添加particleSystem,需要将Canvas的Render Mode设置为Screen Space - Camera,并为其Render Camera指定一个Orthograp ...
- java序列化,二进制和数据流
类的序列化需要支持Serializable接口,如果类支持序列化,可以通过ObjectOutPutStream和ObjectInputStream将对象和Stream之间进行方便的转换. 首先来 看一 ...
- UI-7-UIScrollView
#import "ViewController.h" @interface ViewController ()<UIScrollViewDelegate> { UIIm ...
- Android学习之ItemTouchHelper实现RecylerView的拖拽以及滑动删除功能
今天在群里见大神们提到控件的拖动以及滑动删除的效果实现,就在网上找了资料ItemTouchHelper学习,并实现其功能.不胜窃喜之至,忍不住跟大家分享一下,如今就对学习过程做下简介.帮助大家实现这样 ...
- JQuery IN ACTION读书笔记之一: JQuery选择器
本章关注两个通过$()使用的常用功能: 通过选择器选择DOM元素,创建新DOM元素. 2.1 选择操作元素 JQuery采用了CSS的语法,而CSS的语法你可能已经很熟悉了.当然,JQuery也做了扩 ...