123456789101112131415161718192021222324252627282930313233343536373839 |
- /**
- * mui animation
- */
- (function($, window) {
- /**
- * scrollTo
- */
- $.scrollTo = function(scrollTop, duration, callback) {
- duration = duration || 1000;
- var scroll = function(duration) {
- if (duration <= 0) {
- window.scrollTo(0, scrollTop);
- callback && callback();
- return;
- }
- var distaince = scrollTop - window.scrollY;
- setTimeout(function() {
- window.scrollTo(0, window.scrollY + distaince / duration * 10);
- scroll(duration - 10);
- }, 16.7);
- };
- scroll(duration);
- };
- $.animationFrame = function(cb) {
- var args, isQueued, context;
- return function() {
- args = arguments;
- context = this;
- if (!isQueued) {
- isQueued = true;
- requestAnimationFrame(function() {
- cb.apply(context, args);
- isQueued = false;
- });
- }
- };
- };
- })(mui, window);
|