您的位置:首页 > Web前端 > JavaScript

javascript封装的一些函数

2019-06-14 19:51 1406 查看
//运动函数
function move(obj, attr, step, target) {
var left = parseInt(getStyle(obj, attr));
step = left >= target ? -step : step;
var timer3 = setInterval(function() {
left = left + step;
if((left >= target && step > 0) || (left <= target && step < 0)) {
left = target;
clearInterval(timer3);
}
obj.style[attr] = left + 'px';
}, 50)
}
//非行间函数
function getStyle(obj, attr) {
if(obj.currentStyle) {
return obj.currentStyle[attr];
} else {
return getComputedStyle(obj)[attr]
}
}
//原生ajax封装
function ajax(method, url, data, acy, fn) {
var _ajax = new XMLHttpRequest();
if(method.toLowerCase() == 'get') {
_ajax.open(method, url + '?' + data, acy)
_ajax.send();
} else if(method.toLowerCase() == 'post') {
_ajax.open(method, url, acy);
_ajax.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
_ajax.send(data);
}
_ajax.onreadystatechange = function() {
if(_ajax.readyState == 4 && _ajax.status == 200) {
var res = _ajax.response;
fn && fn(res);
}
}
}
//cookie封装函数
function setCookie(key, val, oDate) {
var nowDate = new Date();
if(oDate == 0) {
nowDate = 0;
} else {
nowDate.setSeconds(nowDate.getSeconds() + oDate);
}
document.cookie = key + '=' + val + ';expires=' + nowDate;
}

function getCookie(key) {
var oCookie = document.cookie;
var cookieArr = oCookie.split(';');
for(var i = 0; i < cookieArr.length; i++) {
var arr = cookieArr[i].split('=');
if(arr[0].trim() == key) {
return arr[1];
}
}
return false;
}

function removeCookie(key) {
setCookie(key, 1, -1);
}
//淡入淡出和运动封装函数
function bufferMove (obj,attr,target,num) {
var timer = setInterval(function () {
if(attr == 'opacity'){
var cur = parseFloat(getStyle(obj,attr))*100;
}else{
var cur = parseInt(getStyle(obj,attr));
}
var step = (target - cur)/num;
var speed = step>0? Math.ceil(cur + step) : Math.floor(cur + step);
if((speed <= target && step<0) || (speed>=target && step>0)){
speed = target;
clearInterval(timer);
}
if(attr == 'opacity'){
obj.style[attr] = speed/100;
}else{
obj.style[attr] = speed + 'px';
}
},50)
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: