Added custom scroller animator

To remove a dependency on jQuery, and allow us to move to Zepto (which
doesn't allow animation of scrollTop)
print-window-tiddler
Jeremy Ruston 2012-04-11 11:29:03 +01:00
rodzic 71ded42b60
commit 90677022e5
1 zmienionych plików z 12 dodań i 3 usunięć

Wyświetl plik

@ -12,6 +12,17 @@ var Tiddler = require("../Tiddler.js").Tiddler,
Dependencies = require("../Dependencies.js").Dependencies,
utils = require("../Utils.js");
function scrollToTop(duration) {
if (duration < 0) {
return;
}
var delta = (-document.body.scrollTop/duration) * 10;
window.setTimeout(function() {
document.body.scrollTop = document.body.scrollTop + delta;
scrollToTop(duration-10);
}, 10);
}
exports.macro = {
name: "story",
params: {
@ -29,9 +40,7 @@ exports.macro = {
}
story.tiddlers.unshift({title: event.navigateTo, template: template});
this.store.addTiddler(new Tiddler(storyTiddler,{text: JSON.stringify(story)}));
$("html,body").animate({
scrollTop: 0
}, 400);
scrollToTop(400);
event.stopPropagation();
return false;
},