2013
4
15
window.onload = function() { scrollTo(0, 0); }尚、こちらの記述が利くのはiOS5以降となります。ios4とAndroidではscrollToのパラメーターが1以上(スクロールが初期位置から少しでも移動した状態)でないと記述が反応しない様です。
window.onload = function() { scrollTo(0, 1); }こちらはAndroid機種に対応した記述だがios4には利かないまま。
window.onload = function() { setTimeout(function() { scrollTo(0, 1); }, 100); }このsetTimeoutメソッドで0.1秒後に処理を行う事でios4にも対応する様です。 とりあえずこの記述でメジャーな現行の機種には対応できます。
function(){ var p = location.hash; alert(p); });現在のページURLのアンカーID、つまりハッシュを取得します。URLにハッシュが含まれていればアラートにハッシュIDが出て、ハッシュが無ければ何もないアラートが出ます。
function(){ var p = location.hash; var hashId = p.indexOf("#"); if(0 == hashId){ alert("ハッシュあるアルよ~"); }else{ alert("ハッシュないアルよ~"); } });これで現在のURLにハッシュが含まれていれば『ハッシュあるアルよ~』アラートが、含まれていなければ『ハッシュないアルよ~』のアラートが出ます。
function(){ var p = location.hash; var q = $(p).offset().top; var hashId = p.indexOf("#"); if(0 == hashId){ alert("q"); }else{ alert("q"); } });これで前回の課題はクリアーできました。
$(document).ready(function(){ var p = location.hash; var q = $(p).offset().top; var hashId = p.indexOf("#"); if(0 == hashId){ $('html,body').animate({ scrollTop: q }, 'slow'); return false; } });これで遷移したページURLにハッシュが含まれていた場合、そのハッシュIDと同名のIDコンテンツまでのパラメーター分スクロールさせるスクリプトが起動します。 #aaaコンテンツへ #bbbコンテンツへ #cccコンテンツへ #dddコンテンツへ これでどうでしょうか? このスクリプトとアドレスバーの非表示用のスクリプトを組み合わせればプラグインの完成です(笑
window.onload = function() { setTimeout(function() { scrollTo(0, 1); }, 100); var p = location.hash; var q = $(p).offset().top; var hashId = p.indexOf("#"); if(0 == hashId){ $('html,body').animate({ scrollTop: q }, 'slow'); return false; } }