アプリ版:「スタンプのみでお礼する」機能のリリースについて

あまりjavascriptについて理解しておりませんので、用語などの使い方が正しくないかもわかりませんが、ご容赦くださいませ・・・。

ページ内リンクをする際、下記のKAZUMIX氏が公開されておられる
scrollsmoothly.jsをつかって、ページをつくっているのですが、

http://d.hatena.ne.jp/KAZUMiX/20080418/scrollsmo …

このままですと、#section2へ移動すると、もちろんながらアドレスバーには

hogehoge.com/#section2 となります。

コリス氏の公開されておられるページスクロース(縦のみ)
http://coliss.com/articles/build-websites/operat …
で移動する際は、どのアンカーに移動する際でも

hogehoge.com/ のままです。


上記のKAZUMIX氏の公開されておられるscrollsmoothly.jsを
どのようにすれば、アドレスバーに#をいれずに移動することができますでしょうか?

A 回答 (1件)

scrollsmoothly.jsのソースコードの


function scroll(){}内にある

location.hash = targetHash;

を↓のようにコメントアウトするだけです。

   function scroll(){
    var currentX = d.documentElement.scrollLeft||d.body.scrollLeft;
    var currentY = d.documentElement.scrollTop||d.body.scrollTop;
    var vx = (targetX - currentX) * easing;
    var vy = (targetY - currentY) * easing;
    var nextX = currentX + vx;
    var nextY = currentY + vy;
    if((Math.abs(vx) < 1 && Math.abs(vy) < 1)
     || (prevX === currentX && prevY === currentY)){
     // 目標座標付近に到達していたら終了
     scrollTo(targetX, targetY);
     scrolling = false;
     //location.hash = targetHash;
     prevX = prevY = null;
     return;
    }else{
     // 繰り返し
     scrollTo(parseInt(nextX), parseInt(nextY));
     prevX = currentX;
     prevY = currentY;
     setTimeout(function(){scroll()},interval);
    }
   }
    • good
    • 0
この回答へのお礼

回答ありがとうございます!!
さっそく試してみましたところ、無事できました!

お礼日時:2010/12/27 16:09

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!