f8g

Dashboard Drag Scroll

SpaceキーやPageDownキーやLDRizeより細かい移動が欲しい人向け。Dashboardの左右両端をドラッグしてスクロールするようにします。(実際の移動量の7倍スクロール → position.rato(ratioのスペルミス))

// ==UserScript==
// @name          Dashboard Drag Scroll
// @namespace     http://d.hatena.ne.jp/arikui/
// @include       http://www.tumblr.com/dashboard
// ==/UserScript==

var position = {
	mutable: false,
	prev   : null,
	rato   : 7
};

document.body.addEventListener("mousedown", function(event){
	event.preventDefault();
	event.stopPropagation();

	var targetId = event.target.getAttribute("id");

	if(!targetId.match(/^(dashboard_index|container|content)$/))
		return;

	position.mutable = true;
	position.prev    = event.clientY;
}, false);

document.body.addEventListener("mouseup", function(event){
	event.preventDefault();
	event.stopPropagation();

	position.mutable = false;
}, false);

document.body.addEventListener("mousemove", function(event){
	event.preventDefault();
	event.stopPropagation();

	if(!position.mutable)
		return;

	window.scrollBy(0, - position.rato * (event.clientY - position.prev));
	position.prev = event.clientY;
}, false);

空間に余裕があるウェブページでは、その余った空間をユーザが自由に使うことができる、と考えると、何もない部分にどんな機能を付け足そうか、考えてるだけで楽しくなってきますね。