正式には解除してないけど当初の記事名をそのままにしておく。。
普段はページ読み込み時にアドレスバーを消し、 アンカーが付いてる場合だけページ内リンクへ飛ばす
おお〜!動いた。
自分で動かしてやりゃいいじゃんてことですね。
私の環境ではハッシュがない場合にエラーが出たので条件分岐をつけました。
↓
[html]
var checkHash = window.location.hash;
window.onload = function(){
if(checkHash){
var p = location.hash;
var q = $(p).offset().top;
var hashId = p.indexOf(“#”);
if(0 == hashId){
$(‘html,body’).animate({ scrollTop: q }, ‘slow’);
return false;
}
}else{
setTimeout(function(){scrollTo(0,1)}, 100);
}
};
[/html]
とりあえずこれで。
最初は下記の記事をさんこうにさせていただいていました
http://blancbooth.com/archives/category/smartphone
しかしこちらはサイト内の遷移に対してのものなので、
target=”blank”などで外部からリンクされた場合はうまくいきませんでした
今回は外部からリンク貼る必要があったので先のリンクの記述を使わせて頂きました。
ありがたやありがたや。
でもなんでif(checkHash){}の中身空白にしたりreturn falseにしたらうまく動かんのかは
まだ調べてない。謎じゃ。
コメントを残す