首页
Web开发
Windows程序
编程语言
数据库
移动开发
系统相关
微信
其他好文
会员
首页
>
Web开发
> 详细
常用JS函数封装
时间:
2015-06-07 23:12:55
阅读:
927
评论:
0
收藏:
0
[点我收藏+]
标签:
//获取元素属性
function getStyle(obj,attr)
{
return obj.currentStyle ? obj.currentStyle[attr] : getComputedStyle(obj,0)[attr];
}
//运动函数
function doMove(obj,attr,speed,target,endFn)
{
clearInterval(obj.timer);
speed = parseInt(getStyle(obj,attr))<target ? speed:-speed;
//alert(speed);
obj.timer=setInterval(function(){
var curPosition=parseInt(getStyle(obj,attr))+speed;
if(curPosition>target && speed>0 || curPosition<target && speed<0)
curPosition=target;
obj.style[attr]=curPosition + ‘px‘;
if(curPosition==target)
{
clearInterval(obj.timer);
endFn && endFn();
}
},50);
}
//getElementByClassName函数
function getElementByClassName(parent,tagName,className)
{
var aEls=parent.getElementsByTagName(tagName);
var arr=[];
for(var i=0;i<aEls.length;i++)
{
var arrClassName=aEls[i].className.split(‘ ‘);
var _index=arrIndexOf(arrClassName,className);
if(_index != -1){
arr.push(aEls[i]);
}
}
return arr;
}
//removeClass函数
function removeClass(obj,className)
{
//如果原来有class
if(obj.className!=‘‘){
var arrClassName=obj.className.split(‘ ‘);
var _index=arrIndexOf(arrClassName,className);
if(_index != -1){
arrClassName.splice(_index,1); //删除需要删除的calss
obj.className=arrClassName.join(‘ ‘); //然后将arrClassName数组拼接起来
}
}
}
//绑定事件函数
function bind(obj,evname,fn){
if(obj.addEventListener){
obj.addEventListener(evname,fn,false);
}else{
obj.attachEvent(‘on‘+evname,function(){
fn.call(obj);
//fn()==fn.call() call(第一个参数,第二个参数) call函数可以改变函数this的指向,call函数传入的第一个参数就是改变this指向的值,call的第二第三个参数就是原函数的参数
});
}
}
//鼠标在可视区域内的拖拽
function clientDrag(obj){
obj.onmousedown=function(ev){
ev=ev || event;
var ms_b=ev.clientX-obj.offsetLeft;
var ms_t=ev.clientY-obj.offsetTop;
document.onmousemove=function(ev){
ev=ev || event;
var currX=ev.clientX-ms_b;
var currY=ev.clientY-ms_t;
var Width=document.body.clientWidth || document.documentElement.cilentWidth;
var Height=document.body.clientHeight || document.documentElement.cilentHeight;
if(currX<0) {currX=0;}
else if(currX>Width-obj.clientWidth){
currX=Width-obj.clientWidth;
}
if(currY<0) {currY=0;}
else if(currY>Height-obj.clientHeight){
currY=Height-obj.clientHeight;
}
obj.style.left=currX +‘px‘;
obj.style.top=currY +‘px‘;
return false;
}
document.onmouseup=function(){
document.onmousemove=document.onmouseup=null;
}
}
}
常用JS函数封装
标签:
原文地址:http://www.cnblogs.com/beta-data/p/4559215.html
踩
(
0
)
赞
(
0
)
举报
评论
一句话评论(
0
)
登录后才能评论!
分享档案
更多>
2021年07月29日 (22)
2021年07月28日 (40)
2021年07月27日 (32)
2021年07月26日 (79)
2021年07月23日 (29)
2021年07月22日 (30)
2021年07月21日 (42)
2021年07月20日 (16)
2021年07月19日 (90)
2021年07月16日 (35)
周排行
更多
36.VUE — 认识 Webpack 和 安装
2021-07-28
【PHP】上传图片翻转问题
2021-07-28
php对数字进行万。亿的转化
2021-07-28
五个 .NET 性能小贴士
2021-07-28
Three.js中显示坐标轴、平面、球体、四方体
2021-07-28
.net 5+ 知新:【1】 .Net 5 基本概念和开发环境搭建
2021-07-27
1.html,css
2021-07-27
基于Docker搭建 Php-fpm + Nginx 环境
2021-07-27
nginx + http + svn
2021-07-27
kubernets kube-proxy的代理 iptables和ipvs
2021-07-26
友情链接
兰亭集智
国之画
百度统计
站长统计
阿里云
chrome插件
新版天听网
关于我们
-
联系我们
-
留言反馈
© 2014
mamicode.com
版权所有 联系我们:gaon5@hotmail.com
迷上了代码!