Skip to content

Instantly share code, notes, and snippets.

@khsk
Last active August 16, 2016 04:34
Show Gist options
  • Save khsk/8a406e0687733a2d377d to your computer and use it in GitHub Desktop.
Save khsk/8a406e0687733a2d377d to your computer and use it in GitHub Desktop.
Qiita記事で右上のコメント数をクリックすることでコメント欄にジャンプするユーザースクリプト ref: http://qiita.com/khsk/items/2ec7f8fb16406634585e
// ==UserScript==
// @name Qiita Jump Comment
// @namespace Qiita
// @description トップのコメント数をクリックすることでコメント欄へスクロールする
// @include http://qiita.com/*/items/*
// @version 1
// @grant none
// @author khsk
// ==/UserScript==
// jQueryはQiitaのものを使用する
console.time('Qiita Jump Comment')
// どこに飛ぶかを変更する
// コメント欄トップ
const COMMENT = 1
// 最新コメント
const LATEST_COMMENTS = 2
// コメント投稿
const POST_COMMENT = 3
var to = LATEST_COMMENTS
// コメント数の表示箇所にイベント追加
$('.list-unstyled.itemsShowHeaderStock_statusList li').eq(1).on('click', function () {
// スクロール位置 現在の位置で初期化
var height = $(document).scrollTop()
switch (to) {
case COMMENT:
height = $('#comments').offset().top
break
case LATEST_COMMENTS:
var latest_comment = $('#comments .commentList').children(':last')
// コメントが無い場合は投稿欄へ移動
height = latest_comment.length ? latest_comment.offset().top : $('#new_comment').offset().top
break
case POST_COMMENT:
height = $('#new_comment').offset().top
// 入力欄にフォーカスもしておく
$('textarea[name="comment\[raw_body\]"]').focus()
break
default:
alert('存在しない設定値です')
break
}
$(document).scrollTop(height)
})
console.timeEnd('Qiita Jump Comment')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment