JS ベースのページフローティングボックスを実装するためのサンプルコード

JS ベースのページフローティングボックスを実装するためのサンプルコード

スクロール バーを下に引くと、主にposition:fixed;スタイルにより、フローティング ボックスは同じ位置に留まります。

ある程度下にスクロールしてフッターに近づくと div が消えるように js で制御し、上にスクロールすると再び表示されます。

<!DOCTYPE html> 
<html> 
<ヘッド>
<タイトル></タイトル>
<スタイル タイプ="text/css">
.div1 {
    高さ:2000ピクセル;
}
.div2 {
    幅:100%;
    高さ:35px;
    背景色:#3399FF;
    上マージン:100px;
}
.div2_1{
    位置:固定;
    幅:100%;
    高さ:35px;
    zインデックス:999;
    背景色:#3399FF;
    上:0px;
    _position:絶対;
    _bottom:自動;
    _top:式(eval(document.documentElement.scrollTop));
}
 .div2_2
    {
        表示:なし;
    }

 
</スタイル>
<script type="text/javascript">
window.onscroll=関数(){ 
    var t=document.documentElement.scrollTop||document.body.scrollTop;  
    div2 要素を取得します。 
    t>= 100の場合{ 
        div2.className = "div2_1";
    }それ以外{
        div2.className = "div2";
    } 
}
</スクリプト>
</head>
<本文>
<divクラス="div1">
    <div id="div2" class="div2"></div>
</div>
</本文>
</html>

補足: 右側のフローティングボックスを実装するためのJavaScript

HTMLコード:

<本文>
  <div id="div1">
  </div>
</本文>

CSSコード:

#div1{
    高さ:150px;
    幅:100ピクセル;
    背景:赤;    
    位置:絶対;
    右:0px;
    下:0px;
}
体{
    高さ:2000ピクセル;
}

JavaScript コード

//フォームがスクロールするとき window.onscroll=function (){
      var obj = document.getElementById("div1");
      // ブラウザの互換性を考慮する(スクロールの高さ)
      var scrollTop=document.documentElement.scrollTop || document.body.scrollTop;
                    // ブラウザの表示領域の高さ + オブジェクト自体の高さ + カールされた高さ // obj.style.top = document.documentElement.clientHeight-obj.offsetHeight+scrollTop+'px';
    //var targetLen=document.documentElement.clientHeight-obj.offsetHeight+scrollTop;
    //移動(targetLen);
    //このようにして、基本的なキャラクターが完成しました。 //方法 2: 結果として、キャラクターは揺れます。 //var targetLen=(document.documentElement.clientHeight)/2-obj.offsetHeight+scrollTop;
    //移動(targetLen);
    var targetLen = parseInt((document.documentElement.clientHeight)/2-obj.offsetHeight+scrollTop);
    移動(ターゲット長さ)
    //このようにして基本的な機能が実現されます。}
  //ここでバッファ移動を追加して、これらの操作を簡単に行えるようにします var Timer = null;
  関数move(iTarget){
      clearInterval(Timer); // 最初にクリア var obj=document.getElementById("div1");
      Timer=setInterval(function (){ //上のオブジェクトからの距離 var speed=(iTarget-obj.offsetTop)/4;
           速度=速度>0?Math.ceil(速度):Math.floor(速度);
           //まず速度を取得します if(obj.offsetTop==iTarget){
               clearInterval(timer); //目的地に到達したら、要素をクリアします}else{
               obj.style.top=obj.offsetTop+speed+'px';
           }
      },30)
      //バッファリングの練習をしてみましょう}

これで、JS ベースのページ フローティング ボックスを実装するためのサンプル コードに関するこの記事は終了です。より関連性の高い js ページ フローティング ボックスのコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • マウスサスペンションフレームの効果を実現するjs
  • js テキストが長さを超えたため、省略記号に置き換えられます。マウスをホバーすると、フローティング ボックスに例が表示されます。
  • jsとcssを使用して自動的に非表示にできるフローティングボックスを作成します
  • JSは右側のフローティングボックス効果を実現します

<<:  Node+Express テストサーバーのパフォーマンス

>>:  div の幅が width:100% に設定されていて、パディングまたはマージンが親要素を超えてしまう問題の解決方法

推薦する

Nginx 正規表現関連のパラメータとルールの紹介

序文最近、私はクライアントのサーバー構成を支援しており、Nginx 構成ファイルを頻繁に変更していま...

よく使われる Docker コマンドと例の概要と分析

目次1. コンテナライフサイクル管理(1)ドッカー実行(2)スタート/ストップ/リスタート(3)ドッ...

Vue テンプレートのコンパイルの詳細

目次1. 解析する1.1 傍受のルール1.2 傍受プロセス部分1.3 パーサーの概要2. 最適化する...

ウェブデザイナーは3つの側面からウェブページを最適化する必要がある

<br />帯域幅の増加に伴い、Web ページ上のオブジェクトも増えているため、Web ...

角度付き双方向バインディングの詳細な説明

目次双方向バインディングの原理ngモデルレンダリングカスタム双方向バインディングプロパティコンポーネ...

HTML で中国語を UTF-8 に変換する方法

HTMLでは、中国語のフレーズ「學好好學」は「學好好學」と表現できます。プロジェクトでは、SMSアラ...

mysql5.6 の無効な utf8 設定の問題を解決する

mysql5.6 のグリーン バージョンを解凍すると、my-default.ini ファイルが作成さ...

Linux スケジュールタスクの関連操作の概要

皆様の参考と操作を容易にするために、様々な主要ウェブサイトを検索し、関連するスケジュールされたタスク...

MySQLスケーラブル設計の基本原則

目次序文1. スケーラビリティとは何ですか?スケールアウトの利点:スケールアウトのデメリット:スケー...

タイプライター効果を実現する純粋な js

この記事の例では、タイプライター効果を実現するためのjsの具体的なコードを参考までに共有しています。...

nginx を使用してブルーグリーン デプロイメントをシミュレートする方法

この記事では、ブルーグリーン デプロイメントと、nginx を使用してブルーグリーン デプロイメント...

Centos8 の Django プロジェクトに nginx+uwsgi をデプロイするチュートリアル

1. 仮想環境virtualenvのインストール1. virtualenvをインストールするpip3...

Vue パッケージ化後の空白ページの解決策

1. vue-cli がプロジェクト パッケージを作成した後にページが空白になる問題の解決方法コマン...

ウェブページの幅を携帯電話の画面(ビューポート)の幅に自動的に適応させる実装コード

一般的な書き方は次のとおりです。 XML/HTML コードコンテンツをクリップボードにコピー<...

Vue で計算プロパティを使用する際の知識ポイントのまとめ

計算されたプロパティ場合によっては、テンプレートにロジックを詰め込みすぎると、テンプレートが重くなり...