1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124
|
function move(obj, attr, target, speed, callback) { clearInterval(obj.timer);
var current = parseInt(getStyle(obj, attr));
if (current > target) { speed = -speed; }
obj.timer = setInterval(function () { var oldValue = parseInt(getStyle(obj, attr));
var newValue = oldValue + speed;
if ((speed < 0 && newValue < target) || (speed > 0 && newValue > target)) { newValue = target; }
obj.style[attr] = newValue + "px";
if (newValue == target) { clearInterval(obj.timer); callback && callback(); } }, 30); }
function getStyle(obj, name) { if (window.getComputedStyle) { return getComputedStyle(obj, null)[name]; } else { return obj.currentStyle[name]; } }
function addClass(obj, cn) { if (!hasClass(obj, cn)) { obj.className += " " + cn; } }
function hasClass(obj, cn) { var reg = new RegExp("\\b" + cn + "\\b");
return reg.test(obj.className); }
function removeClass(obj, cn) { var reg = new RegExp("\\b" + cn + "\\b");
obj.className = obj.className.replace(reg, ""); }
function toggleClass(obj, cn) { if (hasClass(obj, cn)) { removeClass(obj, cn); } else { addClass(obj, cn); } }
|