それは良性のプログラミングでカプセル化手順の良いアイデアの機能があります。我々はパフォーマンス機能が必要な場合は、我々は唯一の呼び出しに必要な、あなたは非常に私たちの作業負荷を低減し、独自のプログラムを、記述する必要はありません。実行中のセキュリティと移植性を向上するだけでなく、コードの機密性を向上させます。ない宮!ここで私は使用を容易にするためにいくつかの一般的なラッパー関数を共有することになります。
1.イベントデリゲートパッケージ
function eveEnt(child,cb){
return function(eve){
var e = eve || window.event;
var mubiaoEle = e.target || e.srcElement;
for(var i = 0;i<child.length;i++){
if(child[i]==mubiaoEle){
cb.bind(mubiaoEle)();
}
}
}
}
非互換性のインラインスタイルを取得します。2.:スタイルは、現在の値を取得するためにバインドされています
function getStyle(ele,attr){
if(ele.currentStyle){
return ele.currentStyle[attr];
}else{
return getComputedStyle(ele,false)[attr];
}
}
(透明を含む)パッケージ3.移動
//ele代表元素,attr代表属性,target代表目标位置
function move(ele,attr,target){
clearInterval(ele.t);
ele.t = setInterval(() => {
if(attr == "opacity"){
var iNow = getStyle(ele,attr) * 100;
}else{
//getStyle用到了获取样式封装函数
var iNow = parseInt(getStyle(ele,attr));
}
let speed = (target - iNow)/10;
speed = speed < 0 ? Math.floor(speed) : Math.ceil(speed);
if(iNow === target){
clearInterval(ele.t);
}else{
if(attr == "opacity"){
ele.style.opacity = (iNow + speed)/100;
}else{
ele.style[attr] = iNow + speed + "px";
}
}
}, 30);
}
4.パッケージをバブリングからのイベントを防ぎます
function stopBubble(eve){
if(event.stopPropagation){
eve.stopPropagation();
}else{
eve.cancelBubble=true;
}
}
可視ウィンドウのサイズを取得します。5.
function view() {
return {
width: window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth || 0,
height: window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight|| 0
};
}
6.乱数のパッケージ
function random(min, max) {
return Math.round(Math.random()*(max - min)+min);
}
フォローアップ、私はパッケージの使用を容易にするために、より多くの機能が追加されます、我々はハを楽しみにして楽しむ:)