質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.50%

  • JavaScript

    20369questions

    JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

  • jQuery

    8147questions

    jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

ページTopでボタンが消えない

解決済

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 1,128

innjera

score 115

jQueryを使用し、ボタンを押すとTopに戻る機能を実装しています。

ページtopではボタンが表示されない様にしたい(スクロールすると、ボタンが出現)としたいのですが、ページTopに表示されてしまいます。
一度スクロールして、上部に戻ると、ページTopに戻っても、ボタンは表示されません。(それはOK)
が、ページをrefreshするとやはり表示されてしまいます。

誤りをご指摘頂けますと助かります。

var syncerTimeout = null ;

$( function()
{
    $( window ).scroll( function()
    {
        if( syncerTimeout == null )
        {
            syncerTimeout = setTimeout( function(){
                var element = $( '#page-top' ) ;
                var visible = element.is( ':visible' ) ;
                var now = $( window ).scrollTop() ;
                var under = $( 'body' ).height() - ( now + $(window).height() ) ;

                if( now > 200 )
                {
                    if( !visible )
                    {
                        element.fadeIn( 'fast' ) ;
                    }
                }
                else if( visible )
                {
                    element.fadeOut( 'fast' ) ;
                }
                syncerTimeout = null ;
            } , 1000 ) ;
        }
    } ) ;
    $( '#move-page-top' ).click(
        function()
        {
            $( 'html,body' ).animate( {scrollTop:0} , 'slow' ) ;
        }
    ) ;
} ) ;
<div id="page-top" class="page-top">
      <p>
        <a id="move-page-top" class="move-page-top">
          <i class="fa fa-chevron-up fa" aria-hidden="true" style="color:white;margin-bottom:0.5rem"></i>
          TOP
        </a>
      </p>
    </div>
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

+2

初期値(?)はCSSでdisplay: none;を指定しておくのが一般的だと思いまよ~

#page-top {
    display: none;
}

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/12/12 21:28

    有難う御座います!うまくいきました。

    キャンセル

同じタグがついた質問を見る

  • JavaScript

    20369questions

    JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

  • jQuery

    8147questions

    jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。