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% に設定されていて、パディングまたはマージンが親要素を超えてしまう問題の解決方法

推薦する

Linux で Ceph 分散ソフトウェアをインストールして使用する方法に関するチュートリアル

目次序文1. 基本環境1. サービス配信2. ネットワーク構成(全ノード) 3. SSHパスワードフ...

ウェブサイトはグレー表示されています。画像を含む互換コードはすべてのブラウザをサポートしています

通常、国喪の日、大地震の日、清明節には、ウェブサイト全体を灰色にして、故人への哀悼の意を表します。そ...

Linux の crw、brw、lrw などのファイル属性は何ですか?

ファイルとは何ですか?すべてのファイルは実際には文字列のストリームですが、適切な解析方法を使用すると...

MySQL での大規模トランザクションによって発生する挿入の遅延ケースの分析

【質問】 INSERT 文は最も一般的な SQL 文の 1 つです。最近、MySQL サーバーが同時...

ES6実装クラスのプライベート変数の書き方をいくつか詳しく説明します

プライベート変数のクロージャ実装プライベート変数は共有されないnew キーワードにより、 perso...

CSS スキル コレクション - 古典の中の古典

リンク上の点線のボックスを削除しますコードをコピーコードは次のとおりです。 a:アクティブ、a:フォ...

Centos7.3は起動時に自動的に起動または指定されたコマンドを実行します

Centos7では、/etc/rc.d/rc.localファイルの権限が削減されており、実行権限があ...

MySQL ロック(テーブルロック、行ロック、共有ロック、排他ロック、ギャップロック)の詳細な説明

現実世界では、鍵は外の世界から身を隠したいときに使用するツールです。コンピュータでは、複数のプロセス...

JavaScript の基礎におけるデータ型の詳細な説明

目次1. データ型1.1 なぜデータ型が必要なのか? 1.2 変数のデータ型1.3 データ型の分類2...

個人的な意見: デザインについて語る

<br />最も実用的なものを選んで話しましょう。まず、勤務先の都市を慎重に選ぶ必要があ...

CSS scroll-snap スクロールイベント停止と要素位置検出の実装

1. スクロールスナップはフロントエンド開発者にとって必須のスキルですCSS スクロール スナップは...

Dockerコンテナでは、イメージを簡素化してサイズを縮小する方法を詳しく説明しています

目次1.画像レイヤーの数を減らす1. 命令の統合2. 多段階ビルド3. スクワッシュ機能を有効にする...

CentOSはexpectを使用してスクリプトやコマンドをバッチでリモート実行します

サーバーへのファイルのアップロード、ソフトウェアのインストール、コマンドやスクリプトの実行、サービス...

Linux/Mac MySQL パスワードを忘れた場合のパスワード変更コマンドラインメソッド

すべての前提条件にはルート権限が必要です1. MySQLプロセスを終了する //Linux sudo...

Linux でのソース パッケージ インストールのサービス管理

目次1. ソースパッケージサービスの起動管理2. ソースパッケージサービスのセルフスタート管理3. ...