▽1
●
shidho ●100ポイント ベストアンサー |
setInterval()の実行は、clearInterval()で止めることが出来ます。
おそらく javascript:clearInterval(); なブックマークレットで止められると思います。
他に、元のブックマークレットを
javascript:var id = setInterval(function(s)%7BscrollBy(1,s%7C%7C1)%7D,10)
としておき、
javascript:clearInterval(id);としておいたほうが確実かもしれません。
(この例では、ブックマークレットを複数回押されたときのこと、元のページでグローバルにidという変数が定義されていたときのことは考慮していません)
clearInterval を使ってください。
no title
javascript:window.qDOThatenaDOT1557452747=function(){var b=0;(function(){b=setInterval(function(c){scrollBy(1,c||1)},10)})();window.onclick=function(){clearInterval(b);delete window.qDOThatenaDOT1557452747}};window.qDOThatenaDOT1557452747();
動作確認と元のコードはこちらです。
※横スクロールがあるページでは斜めにスクロールしていますが、元のブックマークレットでも同じ挙動をしていたので、そのまま適用しています。
コードはClosure Compilerにて整形しています。