zoukankan      html  css  js  c++  java
  • 基础运动move.js

    /*
    * 事件绑定
    */
    function myAddEvent(obj,ev,fn){
    if(obj.attachEvent){
    obj.attachEvent('on' + ev,fn);
    }else{
    obj.addEventListener(ev,fn,false);
    }
    }
    /*
    * 获取样式值
    */
    function getStyle(obj, name) {
    if(obj.currentStyle) {
    return obj.currentStyle[name];
    } else {
    return getComputedStyle(obj, false)[name];
    }
    }
    
    /*
    * 缓冲运动特效函数
    */
    function startMove(obj, attr, iTarget) {
    clearInterval(obj.timer);
    obj.timer = setInterval(function() {
    var cur = 0;
    if(attr == 'opacity') {
    cur = Math.round(parseFloat(getStyle(obj, attr)) * 100);
    } else {
    cur = parseInt(getStyle(obj, attr));
    }
    var speed = (iTarget - cur) / 6;
    speed = speed > 0 ? Math.ceil(speed) : Math.floor(speed);
    if(cur == iTarget) {
    clearInterval(obj.timer);
    } else {
    if(attr == 'opacity') {
    obj.style.filter = 'Alpha(opacity:' + (cur + speed) + ')';
    obj.style.opacity = (cur + speed) / 100;
    
    document.getElementById('txt1').value = obj.style.opacity;
    } else {
    obj.style[attr] = cur + speed + 'px';
    }
    }
    }, 30);
    }
    /*
    * 完美缓冲运动特效函数
    */
    function startMove1(obj, json, fnEnd) {
    clearInterval(obj.timer);
    obj.timer = setInterval(function() {
    var bStop = true; //假设所有的值都已经到了
    for(var attr in json){
    var cur = 0;
    if(attr == 'opacity') {
    cur = Math.round(parseFloat(getStyle(obj, attr)) * 100);
    } else {
    cur = parseInt(getStyle(obj, attr));
    }
    var speed = (json[attr] - cur) / 6;
    speed = speed > 0 ? Math.ceil(speed) : Math.floor(speed);
    
    if(cur != json[attr]){
    bStop = false;
    }
    
    if(attr == 'opacity') {
    obj.style.filter = 'Alpha(opacity:' + (cur + speed) + ')';
    obj.style.opacity = (cur + speed) / 100;
    
    document.getElementById('txt1').value = obj.style.opacity;
    } else {
    obj.style[attr] = cur + speed + 'px';
    }
    }
    
    if(bStop){
    clearInterval(obj.timer);
    if(fnEnd){
    fnEnd();
    }
    }
    }, 30);
    }
  • 相关阅读:
    mac本地如何搭建IPv6环境测试你的APP
    消息通知机制(NSNotification和NSNotificationCenter)
    Xcode 6制作动态及静态Framework
    html格式化输出JSON( 测试接口)
    UIContainerView纯代码实现及原理介绍
    CocoaPods 详解之----更新篇
    使用Cocoapods创建私有podspec
    ios高效开发-正确的使用枚举(Enum)
    在Xcode6中搭建Python开发环境
    用Swift语言做App开发之单元测试
  • 原文地址:https://www.cnblogs.com/panda-ling/p/6699820.html
Copyright © 2011-2022 走看看