1、获取元素的位置
说明:obj为DOM元素对象。返回位置对象(pos)
function getPos(obj) {
var pos = {
"top" : 0,
"left" : 0
};
if (obj.offsetParent) {
while (obj.offsetParent) {
pos.top += obj.offsetTop;
pos.left += obj.offsetLeft;
obj = obj.offsetParent;
}
} else if (obj.x) {
pos.left += obj.x;
} else if (obj.x) {
pos.top += obj.y;
}
return pos;
}
2、获取滚动位置
function getPageScroll(){
var scrollObj = {
"top" : 0,
"left" : 0
};
if (self.pageYOffset) {
scrollObj.top = self.pageYOffset;
scrollObj.left = self.pageXOffset;
} else if (document.documentElement && document.documentElement.scrollTop){
scrollObj.top = document.documentElement.scrollTop;
scrollObj.left = document.documentElement.scrollLeft;
} else if (document.body) {
scrollObj.top = document.body.scrollTop;
scrollObj.left = document.body.scrollLeft;
}
return scrollObj;
}
3、获取窗口尺寸
function getWindowSize()
{
var win = {
"width" : 0,
"height" : 0
};
//获取窗口宽度
if (window.innerWidth)
win.width = window.innerWidth;
else if ((document.body) && (document.body.clientWidth))
win.width = document.body.clientWidth;
//获取窗口高度
if (window.innerHeight)
win.height = window.innerHeight;
else if ((document.body) && (document.body.clientHeight))
win.height= document.body.clientHeight;
//获取窗口大小
if (document.documentElement && document.documentElement.clientHeight && document.documentElement.clientWidth)
{
win.height = document.documentElement.clientHeight;
win.width = document.documentElement.clientWidth;
}
return win;
}
4、触发事件
/**
* 触发事件
*
* @param el 对象
* @param eventName 事件名称
* @return
*/
function touchOffEvent(el, eventName) {
if (document.all) {
el.fireEvent(eventName);
} else {
if ("onchange" == eventName.toLowerCase()) {
el.onchange();
} else if ("onclick" == eventName.toLowerCase()) {
el.onclick();
} else if ("ondblclick" == eventName.toLowerCase()) {
el.ondblclick();
} else if ("onfocus" == eventName.toLowerCase()) {
el.onfocus();
} else if ("onselect" == eventName.toLowerCase()) {
el.onselect();
} else if ("onhelp" == eventName.toLowerCase()) {
el.onhelp();
} else if ("onkeydown" == eventName.toLowerCase()) {
el.onkeydown();
} else if ("onkeypress" == eventName.toLowerCase()) {
el.onkeypress();
} else if ("onkeyup" == eventName.toLowerCase()) {
el.onkeyup();
} else if ("onmousedown" == eventName.toLowerCase()) {
el.onmousedown();
} else if ("onmousemove" == eventName.toLowerCase()) {
el.onmousemove();
} else if ("onmouseout" == eventName.toLowerCase()) {
el.onmouseout();
} else if ("onmouseover" == eventName.toLowerCase()) {
el.onmouseover();
} else if ("onmouseup" == eventName.toLowerCase()) {
el.onmouseup();
} else {
alert("没有"+eventName+"事件!");
}
}
}
5、检查用户使用的浏览器
/**
* 检查用户使用的浏览器
*
* @return
*/
function checkUserAgent() {
if ((navigator.userAgent.indexOf('MSIE') >= 0)
&& (navigator.userAgent.indexOf('Opera') < 0)) {
alert('你是使用IE');
} else if (navigator.userAgent.indexOf('Firefox') >= 0) {
alert('你是使用Firefox');
} else if (navigator.userAgent.indexOf('Opera') >= 0) {
alert('你是使用Opera');
} else {
alert('你是使用其他的浏览器浏览网页!');
}
}
6、去除两端空格
function trim(str) {
return triml(trimr(str));
}
//去除右边空格
function trimr(str){
return (str + '').replace(/(\s+)$/g, '');
}
//去除左边空格
function triml(str) {
return (str + '').replace(/^\s+/g, '');
}
7、email正则表达式验证
function checkEmail(val){
if(/^[a-zA-Z]([a-zA-Z0-9]*[-_.]?[a-zA-Z0-9]+)+@([\w-]+\.)+[a-zA-Z]{2,}$/.test(val+"")){
return true;
}else{
return false;
}
}
8、复制内容到剪切板
function copyMessage(mess){
if(window.clipboardData){
window.clipboardData.setData("Text", mess);
alert("己复制到剪切板");
return true;
}else if(window.netscape){
try {
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
} catch (e) {
alert("您的firefox安全限制限制您进行剪贴板操作,请打开'about:config'将signed.applets.codebase_principal_support'设置为true'之后再重试!");
return false;
}
var clip = Components.classes["@mozilla.org/widget/clipboard;1"].createInstance(Components.interfaces.nsIClipboard);
if (!clip){
alert("当前浏览器不支持,请手动复制");
return false;
}
var trans = Components.classes["@mozilla.org/widget/transferable;1"].createInstance(Components.interfaces.nsITransferable);
if (!trans){
alert("当前浏览器不支持,请手动复制");
return false;
}
trans.addDataFlavor('text/unicode');
var str = new Object();
var len = new Object();
var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);
var copytext = mess;
str.data = copytext;
trans.setTransferData("text/unicode",str,copytext.length*2);
var clipid = Components.interfaces.nsIClipboard;
if (!clip)
return false;
clip.setData(trans,null,clipid.kGlobalClipboard);
alert("己复制到剪切板");
}else if(navigator.userAgent.indexOf("Opera")!= -1){
window.location = mess;
alert("己复制到剪切板");
}
}
分享到:
相关推荐
javascript十个最常用的自定义函数javascript十个最常用的自定义函数javascript十个最常用的自定义函数javascript十个最常用的自定义函数javascript十个最常用的自定义函数javascript十个最常用的自定义函数
If there was ever a universal common.js shared among the entire develosphere, you’d ... So without further ado, here are what I believe to the top ten greatest custom JavaScript functions in use today.
NULL 博文链接:https://chengdu.iteye.com/blog/265522
(10)addEvent 网上最流行的版本是Scott Andrew的,据说javascript界曾举行一场比赛(此事件我们可以在Pro Javascript Techniques第100页看到)或浏览PPK的网站,征求添加事件与移除事件的函数,他就是其获奖者。...
如果不使用类库或者没有自己的类库,储备一些常用函数总是有好处的。
JavaScript 常用公共方法,自定义封装函数 高级使用 流程化控制 函数 作用域 变量
这个系列我会将平时常用的函数归纳整理起来,全当作是抛砖引玉吧。 Code is cheap.看代码: 一、常见的字符串处理函数 // 返回字符的长度,一个中文算2个 String.prototype.ChineseLength = function() { return ...
本文收集了100个原生态JavaScript编写的常用、实用自定义函数,需要的朋友可以参考下
在使用JavaScript语言时,除了可以自定义函数之外,还可以使用JavaScript的内置函数,这些内置函数是由JavaScript语言自身提供的函数。 二、一些常用的内置函数做详细介绍 1、parseInt()函数 该函数主要将首位为数字...
模仿JAVASCRIPT的ESCAPE和UNESCAPE函数的功能 用curl函数读取远程文件 用file_getcontents提交数据 用php生成扭曲,有角度的验证图片(支持中文) 用正则加亮关键字 程序运行过程中直接输出 缩略图带版权信息...
JavaScript本身没有判断一个变量是不是空值的函数,因为变量有可能是string,object,number,boolean等类型,类型不同,判断方法也不同。所以在文章中写了一个函数,用以判断JS变量是否空值,如果是undefined, ...
主要介绍了JavaScript实现创建自定义对象的常用方式,结合实例形式总结分析了JavaScript工厂模式、构造函数模式、原型模式、组合模式等常用的自定义对象创建模式操作与使用技巧,需要的朋友可以参考下
同时提供许多常用的公共函数如类似C#中Trim()方法等。 使用ChkInputs.js,会将光标定位到验证不通过的控件上,若控件上有文本同时将其文本选中高亮度显示,不会刷新页面,只有当所有验证通过时才会将结果提交到后台...
13.7.4 将事件传递给JavaScript函数 13.7.5 鼠标坐标 13.7.6 按键事件 13.8 处理事件的脚本模型 13.9 应知应会 练习 第14章 CSS与JavaScript 14.1 什么是CSS 14.2 什么是...
完整版Java web开发教程PPT课件 Java开发进阶教程 第03章 表单验证,常用函数(共15页).pptx 完整版Java web开发教程PPT课件 Java开发进阶教程 第04章 自定义web服务器(共14页).pptx 完整版Java web开发教程PPT...
1.2.4OWS中的常用服务 1.2.5服务的请求与响应 1.3REST及REST风格的Web服务 1.3.1REST中的基础知识 1.3.2REST风格的Web服务 1.3.3REST风格的Web服务实例 1.4Web GIS的组成 1.5ArcGIS Server REST风格的Web服务 1.5.1...