コンテンツにスキップ

英文维基 | 中文维基 | 日文维基 | 草榴社区

利用者:青子守歌/trunk/FloatedTOC.js

お知らせ: 保存した後、ブラウザのキャッシュをクリアしてページを再読み込みする必要があります。

多くの WindowsLinux のブラウザ

  • Ctrl を押しながら F5 を押す。

Mac における Safari

  • Shift を押しながら、更新ボタン をクリックする。

Mac における ChromeFirefox

  • Cmd Shift を押しながら R を押す。

詳細についてはWikipedia:キャッシュを消すをご覧ください。

//!!!!!!!!!!!!!!!!!!!!
//!!! 開発途中です !!!
//!!!!!!!!!!!!!!!!!!!!
jQuery(function($)
{
	// 目次および目次の展開リンクを取得
	var $toc = mw.util.$content.find("#toc");
	var $tocToggle = $toc.find("#togglelink");
	
	// 目次の既定の表示位置を取得
	var defaultOffset = $toc.offset().top;
	
	// フロート処理
	var floating = function()
	{
		// ウインドウの先頭が、既定位置より下だったら
		var windowTop = $(window).scrollTop();
		if(windowTop > defaultOffset)
		{
			// 目次をウインドウの先頭に移動
			$toc.offset({top: windowTop})
				.css("float", "right");
			
			// 目次が展開されていたら
			if(!$toc.hasClass("tochidden"))
			{
				// 折りたたむ
				$tocToggle.click();
			}
		}
		// ウインドウの先頭が、既定位置より上だったら
		else
		{
			// 目次を元の位置に表示
			$toc.offset({top: defaultOffset})
				.css("float", "none");
			
			// 目次が折りたたまれていたら
			if($toc.hasClass("tochidden"))
			{
				// 展開
				$tocToggle.click();
			}
		}
	};
	
	// スクロールされた時にフロート処理
	$(window).scroll(floating);
	
	// 最初に一度フロート処理しておく
	floating();
});