亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? effects.js

?? 類似youtube的視頻分享網(wǎng)站源碼。有后臺管理系統(tǒng)及模板
?? JS
?? 第 1 頁 / 共 3 頁
字號:
  },
  inspect: function() {
    return '#<Effect:' + $H(this).inspect() + ',options:' + $H(this.options).inspect() + '>';
  }
}

Effect.Parallel = Class.create();
Object.extend(Object.extend(Effect.Parallel.prototype, Effect.Base.prototype), {
  initialize: function(effects) {
    this.effects = effects || [];
    this.start(arguments[1]);
  },
  update: function(position) {
    this.effects.invoke('render', position);
  },
  finish: function(position) {
    this.effects.each( function(effect) {
      effect.render(1.0);
      effect.cancel();
      effect.event('beforeFinish');
      if(effect.finish) effect.finish(position);
      effect.event('afterFinish');
    });
  }
});

Effect.Opacity = Class.create();
Object.extend(Object.extend(Effect.Opacity.prototype, Effect.Base.prototype), {
  initialize: function(element) {
    this.element = $(element);
    // make this work on IE on elements without 'layout'
    if(/MSIE/.test(navigator.userAgent) && (!this.element.hasLayout))
      this.element.setStyle({zoom: 1});
    var options = Object.extend({
      from: this.element.getOpacity() || 0.0,
      to:   1.0
    }, arguments[1] || {});
    this.start(options);
  },
  update: function(position) {
    this.element.setOpacity(position);
  }
});

Effect.Move = Class.create();
Object.extend(Object.extend(Effect.Move.prototype, Effect.Base.prototype), {
  initialize: function(element) {
    this.element = $(element);
    var options = Object.extend({
      x:    0,
      y:    0,
      mode: 'relative'
    }, arguments[1] || {});
    this.start(options);
  },
  setup: function() {
    // Bug in Opera: Opera returns the "real" position of a static element or
    // relative element that does not have top/left explicitly set.
    // ==> Always set top and left for position relative elements in your stylesheets 
    // (to 0 if you do not need them) 
    this.element.makePositioned();
    this.originalLeft = parseFloat(this.element.getStyle('left') || '0');
    this.originalTop  = parseFloat(this.element.getStyle('top')  || '0');
    if(this.options.mode == 'absolute') {
      // absolute movement, so we need to calc deltaX and deltaY
      this.options.x = this.options.x - this.originalLeft;
      this.options.y = this.options.y - this.originalTop;
    }
  },
  update: function(position) {
    this.element.setStyle({
      left: this.options.x  * position + this.originalLeft + 'px',
      top:  this.options.y  * position + this.originalTop  + 'px'
    });
  }
});

// for backwards compatibility
Effect.MoveBy = function(element, toTop, toLeft) {
  return new Effect.Move(element, 
    Object.extend({ x: toLeft, y: toTop }, arguments[3] || {}));
};

Effect.Scale = Class.create();
Object.extend(Object.extend(Effect.Scale.prototype, Effect.Base.prototype), {
  initialize: function(element, percent) {
    this.element = $(element)
    var options = Object.extend({
      scaleX: true,
      scaleY: true,
      scaleContent: true,
      scaleFromCenter: false,
      scaleMode: 'box',        // 'box' or 'contents' or {} with provided values
      scaleFrom: 100.0,
      scaleTo:   percent
    }, arguments[2] || {});
    this.start(options);
  },
  setup: function() {
    this.restoreAfterFinish = this.options.restoreAfterFinish || false;
    this.elementPositioning = this.element.getStyle('position');
    
    this.originalStyle = {};
    ['top','left','width','height','fontSize'].each( function(k) {
      this.originalStyle[k] = this.element.style[k];
    }.bind(this));
      
    this.originalTop  = this.element.offsetTop;
    this.originalLeft = this.element.offsetLeft;
    
    var fontSize = this.element.getStyle('font-size') || '100%';
    ['em','px','%'].each( function(fontSizeType) {
      if(fontSize.indexOf(fontSizeType)>0) {
        this.fontSize     = parseFloat(fontSize);
        this.fontSizeType = fontSizeType;
      }
    }.bind(this));
    
    this.factor = (this.options.scaleTo - this.options.scaleFrom)/100;
    
    this.dims = null;
    if(this.options.scaleMode=='box')
      this.dims = [this.element.offsetHeight, this.element.offsetWidth];
    if(/^content/.test(this.options.scaleMode))
      this.dims = [this.element.scrollHeight, this.element.scrollWidth];
    if(!this.dims)
      this.dims = [this.options.scaleMode.originalHeight,
                   this.options.scaleMode.originalWidth];
  },
  update: function(position) {
    var currentScale = (this.options.scaleFrom/100.0) + (this.factor * position);
    if(this.options.scaleContent && this.fontSize)
      this.element.setStyle({fontSize: this.fontSize * currentScale + this.fontSizeType });
    this.setDimensions(this.dims[0] * currentScale, this.dims[1] * currentScale);
  },
  finish: function(position) {
    if (this.restoreAfterFinish) this.element.setStyle(this.originalStyle);
  },
  setDimensions: function(height, width) {
    var d = {};
    if(this.options.scaleX) d.width = width + 'px';
    if(this.options.scaleY) d.height = height + 'px';
    if(this.options.scaleFromCenter) {
      var topd  = (height - this.dims[0])/2;
      var leftd = (width  - this.dims[1])/2;
      if(this.elementPositioning == 'absolute') {
        if(this.options.scaleY) d.top = this.originalTop-topd + 'px';
        if(this.options.scaleX) d.left = this.originalLeft-leftd + 'px';
      } else {
        if(this.options.scaleY) d.top = -topd + 'px';
        if(this.options.scaleX) d.left = -leftd + 'px';
      }
    }
    this.element.setStyle(d);
  }
});

Effect.Highlight = Class.create();
Object.extend(Object.extend(Effect.Highlight.prototype, Effect.Base.prototype), {
  initialize: function(element) {
    this.element = $(element);
    var options = Object.extend({ startcolor: '#ffff99' }, arguments[1] || {});
    this.start(options);
  },
  setup: function() {
    // Prevent executing on elements not in the layout flow
    if(this.element.getStyle('display')=='none') { this.cancel(); return; }
    // Disable background image during the effect
    this.oldStyle = {
      backgroundImage: this.element.getStyle('background-image') };
    this.element.setStyle({backgroundImage: 'none'});
    if(!this.options.endcolor)
      this.options.endcolor = this.element.getStyle('background-color').parseColor('#ffffff');
    if(!this.options.restorecolor)
      this.options.restorecolor = this.element.getStyle('background-color');
    // init color calculations
    this._base  = $R(0,2).map(function(i){ return parseInt(this.options.startcolor.slice(i*2+1,i*2+3),16) }.bind(this));
    this._delta = $R(0,2).map(function(i){ return parseInt(this.options.endcolor.slice(i*2+1,i*2+3),16)-this._base[i] }.bind(this));
  },
  update: function(position) {
    this.element.setStyle({backgroundColor: $R(0,2).inject('#',function(m,v,i){
      return m+(Math.round(this._base[i]+(this._delta[i]*position)).toColorPart()); }.bind(this)) });
  },
  finish: function() {
    this.element.setStyle(Object.extend(this.oldStyle, {
      backgroundColor: this.options.restorecolor
    }));
  }
});

Effect.ScrollTo = Class.create();
Object.extend(Object.extend(Effect.ScrollTo.prototype, Effect.Base.prototype), {
  initialize: function(element) {
    this.element = $(element);
    this.start(arguments[1] || {});
  },
  setup: function() {
    Position.prepare();
    var offsets = Position.cumulativeOffset(this.element);
    if(this.options.offset) offsets[1] += this.options.offset;
    var max = window.innerHeight ? 
      window.height - window.innerHeight :
      document.body.scrollHeight - 
        (document.documentElement.clientHeight ? 
          document.documentElement.clientHeight : document.body.clientHeight);
    this.scrollStart = Position.deltaY;
    this.delta = (offsets[1] > max ? max : offsets[1]) - this.scrollStart;
  },
  update: function(position) {
    Position.prepare();
    window.scrollTo(Position.deltaX, 
      this.scrollStart + (position*this.delta));
  }
});

/* ------------- combination effects ------------- */

Effect.Fade = function(element) {
  element = $(element);
  var oldOpacity = element.getInlineOpacity();
  var options = Object.extend({
  from: element.getOpacity() || 1.0,
  to:   0.0,
  afterFinishInternal: function(effect) { 
    if(effect.options.to!=0) return;
    effect.element.hide();
    effect.element.setStyle({opacity: oldOpacity}); 
  }}, arguments[1] || {});
  return new Effect.Opacity(element,options);
}

Effect.Appear = function(element) {
  element = $(element);
  var options = Object.extend({
  from: (element.getStyle('display') == 'none' ? 0.0 : element.getOpacity() || 0.0),
  to:   1.0,
  // force Safari to render floated elements properly
  afterFinishInternal: function(effect) {
    effect.element.forceRerendering();
  },
  beforeSetup: function(effect) {
    effect.element.setOpacity(effect.options.from);
    effect.element.show(); 
  }}, arguments[1] || {});
  return new Effect.Opacity(element,options);
}

Effect.Puff = function(element) {
  element = $(element);
  var oldStyle = { opacity: element.getInlineOpacity(), position: element.getStyle('position') };
  return new Effect.Parallel(
   [ new Effect.Scale(element, 200, 
      { sync: true, scaleFromCenter: true, scaleContent: true, restoreAfterFinish: true }), 
     new Effect.Opacity(element, { sync: true, to: 0.0 } ) ], 
     Object.extend({ duration: 1.0, 
      beforeSetupInternal: function(effect) {
        effect.effects[0].element.setStyle({position: 'absolute'}); },
      afterFinishInternal: function(effect) {
         effect.effects[0].element.hide();
         effect.effects[0].element.setStyle(oldStyle); }
     }, arguments[1] || {})
   );
}

Effect.BlindUp = function(element) {
  element = $(element);
  element.makeClipping();
  return new Effect.Scale(element, 0, 
    Object.extend({ scaleContent: false, 
      scaleX: false, 
      restoreAfterFinish: true,
      afterFinishInternal: function(effect) {
        effect.element.hide();
        effect.element.undoClipping();
      } 
    }, arguments[1] || {})
  );
}

Effect.BlindDown = function(element) {
  element = $(element);
  var elementDimensions = element.getDimensions();
  return new Effect.Scale(element, 100, 
    Object.extend({ scaleContent: false, 
      scaleX: false,
      scaleFrom: 0,
      scaleMode: {originalHeight: elementDimensions.height, originalWidth: elementDimensions.width},
      restoreAfterFinish: true,
      afterSetup: function(effect) {
        effect.element.makeClipping();
        effect.element.setStyle({height: '0px'});
        effect.element.show(); 
      },  
      afterFinishInternal: function(effect) {
        effect.element.undoClipping();
      }
    }, arguments[1] || {})
  );
}

Effect.SwitchOff = function(element) {
  element = $(element);
  var oldOpacity = element.getInlineOpacity();
  return new Effect.Appear(element, { 
    duration: 0.4,
    from: 0,
    transition: Effect.Transitions.flicker,
    afterFinishInternal: function(effect) {
      new Effect.Scale(effect.element, 1, { 
        duration: 0.3, scaleFromCenter: true,
        scaleX: false, scaleContent: false, restoreAfterFinish: true,
        beforeSetup: function(effect) { 
          effect.element.makePositioned();
          effect.element.makeClipping();
        },
        afterFinishInternal: function(effect) {
          effect.element.hide();
          effect.element.undoClipping();

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩一区国产二区欧美三区| 91麻豆精品国产91久久久| 日韩一区二区视频| 亚洲美女屁股眼交| 高清av一区二区| 日韩一区二区精品葵司在线 | 波多野结衣欧美| 日韩欧美色综合网站| 亚洲一区影音先锋| 99久久久无码国产精品| 精品国产一区二区三区四区四| 亚洲成人动漫在线免费观看| 91免费观看视频| 中文字幕av不卡| 韩国精品一区二区| 精品伦理精品一区| 日本视频免费一区| 欧美女孩性生活视频| 一区二区三区四区在线免费观看 | 日韩精品亚洲一区| 欧美亚洲国产一区二区三区va| 国产精品污网站| 国产成人av一区二区| www国产精品av| 国产一区二区三区四区五区美女| 日韩欧美中文字幕制服| 偷拍一区二区三区| 欧美日韩一区二区三区在线| 亚洲欧美偷拍三级| 色综合中文字幕国产| 日本一区二区三区国色天香| 国产最新精品免费| 欧美精品一区二区精品网| 精品一区二区三区视频在线观看| 日韩一区二区在线观看视频 | 图片区日韩欧美亚洲| 欧美日韩在线播| 亚洲国产综合视频在线观看| 在线观看视频一区二区欧美日韩| 亚洲免费观看高清完整版在线| 91色综合久久久久婷婷| 亚洲四区在线观看| 一本大道久久a久久综合婷婷| 亚洲欧洲制服丝袜| 欧洲av一区二区嗯嗯嗯啊| 亚洲视频在线一区二区| 一本久久a久久精品亚洲| 亚洲精品菠萝久久久久久久| 欧洲精品视频在线观看| 亚洲图片自拍偷拍| 欧美夫妻性生活| 久久精品国产第一区二区三区| 欧美不卡激情三级在线观看| 国产在线精品免费| 国产精品久久久久久久久久久免费看 | 欧美激情一区在线观看| 99在线热播精品免费| 亚洲人吸女人奶水| 欧美日韩成人一区| 青草国产精品久久久久久| 久久尤物电影视频在线观看| 国产v日产∨综合v精品视频| 日韩理论片网站| 欧美日韩在线免费视频| 日本少妇一区二区| 国产欧美视频一区二区| 91视频在线看| 视频一区在线播放| 欧美精品一区二区久久久| av在线不卡免费看| 亚洲国产欧美日韩另类综合 | 欧美精品99久久久**| 美女久久久精品| 国产偷国产偷精品高清尤物 | 国产激情一区二区三区四区| 国产精品国产三级国产普通话三级| 一本到一区二区三区| 日韩在线一二三区| 久久久久久久一区| 一本到不卡免费一区二区| 日日摸夜夜添夜夜添国产精品 | 日韩欧美精品在线视频| 高清久久久久久| 亚洲第一精品在线| 久久久久国产精品免费免费搜索| 色综合久久综合网| 免费欧美高清视频| 亚洲欧美综合色| 日韩亚洲欧美在线观看| 成人国产精品免费网站| 日韩激情一区二区| 国产精品麻豆久久久| 91精品黄色片免费大全| 成人性生交大片免费看在线播放 | 亚洲永久免费av| 精品999久久久| 色综合天天综合色综合av | 亚洲欧美福利一区二区| 欧美一区二区久久| 99视频精品全部免费在线| 日韩成人免费在线| 亚洲三级电影网站| 欧美电影免费观看高清完整版在线 | 成人自拍视频在线| 日韩成人免费在线| 亚洲日本va午夜在线影院| 日韩欧美一区中文| 91国偷自产一区二区使用方法| 国产美女在线精品| 亚洲第一精品在线| 最新日韩在线视频| 精品国产在天天线2019| 欧美最新大片在线看| 国产精品资源网站| 免费高清成人在线| 亚洲午夜在线视频| 亚洲欧洲日韩av| 精品国产91久久久久久久妲己 | 欧美丝袜丝交足nylons图片| 成人午夜免费av| 老司机精品视频导航| 亚洲国产综合人成综合网站| 国产精品网友自拍| 久久综合九色综合97婷婷女人| 欧美视频日韩视频在线观看| 成人免费视频caoporn| 精品亚洲国产成人av制服丝袜 | 国产精品欧美极品| 精品久久久久久亚洲综合网| 7777精品伊人久久久大香线蕉的 | 日韩欧美www| 欧美乱妇15p| 91成人在线精品| k8久久久一区二区三区| 国产精品一区二区久久不卡| 九九精品一区二区| 日本麻豆一区二区三区视频| 亚洲国产毛片aaaaa无费看| 亚洲免费观看视频| 亚洲乱码中文字幕| 国产精品国产自产拍高清av | 欧美老肥妇做.爰bbww| 一本到不卡精品视频在线观看| 成人爽a毛片一区二区免费| 国产综合色在线视频区| 免费成人在线观看| 免费观看一级特黄欧美大片| 日本亚洲视频在线| 日本视频免费一区| 蜜臀精品一区二区三区在线观看 | 一区二区三区欧美视频| 国产精品久久久爽爽爽麻豆色哟哟| 久久久国产午夜精品| 久久久亚洲精华液精华液精华液| 精品裸体舞一区二区三区| 欧美成人video| 亚洲精品在线观| 久久蜜桃av一区精品变态类天堂| 久久久亚洲午夜电影| 久久九九国产精品| 国产精品乱码一区二三区小蝌蚪| 国产精品乱人伦| 亚洲丝袜自拍清纯另类| 亚洲欧美另类久久久精品 | 337p日本欧洲亚洲大胆精品 | 7777精品久久久大香线蕉| 日韩一区二区在线观看视频播放 | 日本电影亚洲天堂一区| 一本大道av一区二区在线播放| 一本大道av伊人久久综合| 欧美亚洲综合久久| 91精品一区二区三区久久久久久 | 一本久久精品一区二区| 欧美性感一区二区三区| 91麻豆精品国产91久久久久久久久| 欧美日本在线视频| 日韩网站在线看片你懂的| 久久综合五月天婷婷伊人| 欧美国产日韩亚洲一区| 日韩美女久久久| 午夜电影一区二区三区| 老司机免费视频一区二区三区| 国产一区不卡视频| 91在线高清观看| 欧美裸体bbwbbwbbw| 欧美变态凌虐bdsm| 国产精品白丝在线| 亚洲国产成人porn| 另类小说综合欧美亚洲| 国产成人免费视频网站| 日本韩国视频一区二区| 5月丁香婷婷综合| 久久久久久免费| 一区二区三区精品| 免费人成黄页网站在线一区二区| 国产成a人亚洲精| 欧洲色大大久久| 精品日韩在线观看| 亚洲精品中文字幕乱码三区| 日韩激情一二三区|