⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 effects.js

📁 Ajax最流行书籍
💻 JS
📖 第 1 页 / 共 2 页
字号:
/* ------------- prepackaged effects ------------- */Effect.Fade = function(element) {  options = Object.extend({  from: 1.0,  to:   0.0,  afterFinish: function(effect)     { Element.hide(effect.element);      effect.setOpacity(1); }   }, arguments[1] || {});  return new Effect.Opacity(element,options);}Effect.Appear = function(element) {  options = Object.extend({  from: 0.0,  to:   1.0,  beforeStart: function(effect)      { effect.setOpacity(0);      Element.show(effect.element); },  afterUpdate: function(effect)      { Element.show(effect.element); }  }, arguments[1] || {});  return new Effect.Opacity(element,options);}Effect.Puff = function(element) {  return new Effect.Parallel(   [ new Effect.Scale(element, 200, { sync: true, scaleFromCenter: true }),      new Effect.Opacity(element, { sync: true, to: 0.0, from: 1.0 } ) ],      { duration: 1.0,       afterUpdate: function(effect)        { effect.effects[0].element.style.position = 'absolute'; },      afterFinish: function(effect)       { Element.hide(effect.effects[0].element); }     }   );}Effect.BlindUp = function(element) {  Element.makeClipping(element);  return new Effect.Scale(element, 0,     Object.extend({ scaleContent: false,       scaleX: false,       afterFinish: function(effect)         {           Element.hide(effect.element);          Element.undoClipping(effect.element);        }     }, arguments[1] || {})  );}Effect.BlindDown = function(element) {  $(element).style.height   = '0px';  Element.makeClipping(element);  Element.show(element);  return new Effect.Scale(element, 100,     Object.extend({ scaleContent: false,       scaleX: false,       scaleMode: 'contents',      scaleFrom: 0,      afterFinish: function(effect) {        Element.undoClipping(effect.element);      }    }, arguments[1] || {})  );}Effect.SwitchOff = function(element) {  return new Effect.Appear(element,    { duration: 0.4,     transition: Effect.Transitions.flicker,     afterFinish: function(effect)      { effect.element.style.overflow = 'hidden';        new Effect.Scale(effect.element, 1,          { duration: 0.3, scaleFromCenter: true,          scaleX: false, scaleContent: false,          afterUpdate: function(effect) {            if(effect.element.style.position=="")             effect.element.style.position = 'relative'; },          afterFinish: function(effect) { Element.hide(effect.element); }         } )      }    } );}Effect.DropOut = function(element) {  return new Effect.Parallel(    [ new Effect.MoveBy(element, 100, 0, { sync: true }),       new Effect.Opacity(element, { sync: true, to: 0.0, from: 1.0 } ) ],     { duration: 0.5,      afterFinish: function(effect)       { Element.hide(effect.effects[0].element); }     });}Effect.Shake = function(element) {  return new Effect.MoveBy(element, 0, 20,     { duration: 0.05, afterFinish: function(effect) {  new Effect.MoveBy(effect.element, 0, -40,     { duration: 0.1, afterFinish: function(effect) {   new Effect.MoveBy(effect.element, 0, 40,     { duration: 0.1, afterFinish: function(effect) {    new Effect.MoveBy(effect.element, 0, -40,     { duration: 0.1, afterFinish: function(effect) {    new Effect.MoveBy(effect.element, 0, 40,     { duration: 0.1, afterFinish: function(effect) {    new Effect.MoveBy(effect.element, 0, -20,     { duration: 0.05, afterFinish: function(effect) {    }}) }}) }}) }}) }}) }});}Effect.SlideDown = function(element) {  element = $(element);  element.style.height   = '0px';  Element.makeClipping(element);  Element.cleanWhitespace(element);  Element.makePositioned(element.firstChild);  Element.show(element);  return new Effect.Scale(element, 100,    Object.extend({ scaleContent: false,     scaleX: false,     scaleMode: 'contents',    scaleFrom: 0,    afterUpdate: function(effect)       { effect.element.firstChild.style.bottom =           (effect.originalHeight - effect.element.clientHeight) + 'px'; },    afterFinish: function(effect)       {  Element.undoClipping(effect.element); }    }, arguments[1] || {})  );}  Effect.SlideUp = function(element) {  element = $(element);  Element.makeClipping(element);  Element.cleanWhitespace(element);  Element.makePositioned(element.firstChild);  Element.show(element);  return new Effect.Scale(element, 0,    Object.extend({ scaleContent: false,     scaleX: false,     afterUpdate: function(effect)       { effect.element.firstChild.style.bottom =           (effect.originalHeight - effect.element.clientHeight) + 'px'; },    afterFinish: function(effect)      {         Element.hide(effect.element);        Element.undoClipping(effect.element);      }   }, arguments[1] || {})  );}Effect.Squish = function(element) { return new Effect.Scale(element, 0,    { afterFinish: function(effect) { Element.hide(effect.element); } });}Effect.Grow = function(element) {  element = $(element);  var options = arguments[1] || {};    var originalWidth = element.clientWidth;  var originalHeight = element.clientHeight;  element.style.overflow = 'hidden';  Element.show(element);    var direction = options.direction || 'center';  var moveTransition = options.moveTransition || Effect.Transitions.sinoidal;  var scaleTransition = options.scaleTransition || Effect.Transitions.sinoidal;  var opacityTransition = options.opacityTransition || Effect.Transitions.full;    var initialMoveX, initialMoveY;  var moveX, moveY;    switch (direction) {    case 'top-left':      initialMoveX = initialMoveY = moveX = moveY = 0;       break;    case 'top-right':      initialMoveX = originalWidth;      initialMoveY = moveY = 0;      moveX = -originalWidth;      break;    case 'bottom-left':      initialMoveX = moveX = 0;      initialMoveY = originalHeight;      moveY = -originalHeight;      break;    case 'bottom-right':      initialMoveX = originalWidth;      initialMoveY = originalHeight;      moveX = -originalWidth;      moveY = -originalHeight;      break;    case 'center':      initialMoveX = originalWidth / 2;      initialMoveY = originalHeight / 2;      moveX = -originalWidth / 2;      moveY = -originalHeight / 2;      break;  }    return new Effect.MoveBy(element, initialMoveY, initialMoveX, {     duration: 0.01,     beforeUpdate: function(effect) { $(element).style.height = '0px'; },    afterFinish: function(effect) {      new Effect.Parallel(        [ new Effect.Opacity(element, { sync: true, to: 1.0, from: 0.0, transition: opacityTransition }),          new Effect.MoveBy(element, moveY, moveX, { sync: true, transition: moveTransition }),          new Effect.Scale(element, 100, {             scaleMode: { originalHeight: originalHeight, originalWidth: originalWidth },             sync: true, scaleFrom: 0, scaleTo: 100, transition: scaleTransition })],        options); }    });}Effect.Shrink = function(element) {  element = $(element);  var options = arguments[1] || {};    var originalWidth = element.clientWidth;  var originalHeight = element.clientHeight;  element.style.overflow = 'hidden';  Element.show(element);  var direction = options.direction || 'center';  var moveTransition = options.moveTransition || Effect.Transitions.sinoidal;  var scaleTransition = options.scaleTransition || Effect.Transitions.sinoidal;  var opacityTransition = options.opacityTransition || Effect.Transitions.none;    var moveX, moveY;    switch (direction) {    case 'top-left':      moveX = moveY = 0;      break;    case 'top-right':      moveX = originalWidth;      moveY = 0;      break;    case 'bottom-left':      moveX = 0;      moveY = originalHeight;      break;    case 'bottom-right':      moveX = originalWidth;      moveY = originalHeight;      break;    case 'center':        moveX = originalWidth / 2;      moveY = originalHeight / 2;      break;  }    return new Effect.Parallel(    [ new Effect.Opacity(element, { sync: true, to: 0.0, from: 1.0, transition: opacityTransition }),      new Effect.Scale(element, 0, { sync: true, transition: moveTransition }),      new Effect.MoveBy(element, moveY, moveX, { sync: true, transition: scaleTransition }) ],    options);}Effect.Pulsate = function(element) {  var options    = arguments[1] || {};  var transition = options.transition || Effect.Transitions.sinoidal;  var reverser   = function(pos){ return transition(1-Effect.Transitions.pulse(pos)) };  reverser.bind(transition);  return new Effect.Opacity(element,     Object.extend(Object.extend({  duration: 3.0,       afterFinish: function(effect) { Element.show(effect.element); }    }, options), {transition: reverser}));}Effect.Fold = function(element) { $(element).style.overflow = 'hidden'; return new Effect.Scale(element, 5, Object.extend({      scaleContent: false,   scaleTo: 100,   scaleX: false,   afterFinish: function(effect) {   new Effect.Scale(element, 1, {      scaleContent: false,      scaleTo: 0,     scaleY: false,     afterFinish: function(effect) { Element.hide(effect.element) } }); }}, arguments[1] || {}));}// old: new Effect.ContentZoom(element, percent)// new: Element.setContentZoom(element, percent) Element.setContentZoom = function(element, percent) {  var element = $(element);  element.style.fontSize = (percent/100) + "em";    if(navigator.appVersion.indexOf('AppleWebKit')>0) window.scrollBy(0,0);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -