| | 190 | scrollToTop = function(t) { |
| | 191 | if(t.id != 'wpadminbar') return; |
| | 192 | |
| | 193 | var startY = (function() { |
| | 194 | if (self.pageYOffset) return self.pageYOffset; |
| | 195 | |
| | 196 | if (document.body.scrollTop) return document.body.scrollTop; |
| | 197 | |
| | 198 | return 0; |
| | 199 | })(), |
| | 200 | stopY = 0, |
| | 201 | distance = stopY > startY ? stopY - startY : startY - stopY; |
| | 202 | |
| | 203 | if (distance < 100) { |
| | 204 | scrollTo(0, stopY); return; |
| | 205 | } |
| | 206 | |
| | 207 | var speed = Math.round(distance / 100), |
| | 208 | step = Math.round(distance / 25), |
| | 209 | leapY = stopY > startY ? startY + step : startY - step, |
| | 210 | timer = 0; |
| | 211 | |
| | 212 | speed = (speed >= 20) ? 20 : speed; |
| | 213 | |
| | 214 | if (stopY > startY) { |
| | 215 | for ( var i=startY; i<stopY; i+=step ) { |
| | 216 | setTimeout("window.scrollTo(0, "+leapY+")", timer * speed); |
| | 217 | leapY += step; if (leapY > stopY) leapY = stopY; timer++; |
| | 218 | } |
| | 219 | |
| | 220 | return; |
| | 221 | } |
| | 222 | |
| | 223 | for ( var i=startY; i>stopY; i-=step ) { |
| | 224 | setTimeout("window.scrollTo(0, "+leapY+")", timer * speed); |
| | 225 | leapY -= step; if (leapY < stopY) leapY = stopY; timer++; |
| | 226 | } |
| | 227 | }; |
| | 228 | |