この記事の例では、カスタムスクロールバーを実装するためのjsの具体的なコードを参考までに共有しています。具体的な内容は次のとおりです。 1. HTMLファイルDiv1 はスクロール バー、div2 はスクロール ボール、div3 はテキスト領域コンテナー、div4 はテキスト領域です。 <div id="div"> <div id="div1"> <div id="div2"> </div> </div> <div id="div3"> <div id="div4"> <p>CSS3 チュートリアル</p> <p>CSS3 チュートリアル</p> <p>CSS3 入門</p> <p>CSS3 境界線</p> <p>CSS3 丸い角</p> <p>CSS3 背景</p> <p>CSS3 グラデーション</p> <p>CSS3 テキスト効果</p> <p>CSS3 フォント</p> <p>CSS3 2D 変換</p> CSS3 3D 変換 <p>CSS3 トランジション</p> <p>CSS3 アニメーション</p> <p>CSS3 複数列</p> <p>CSS3 ユーザー インターフェース</p> <p>CSS3 画像</p> <p>CSS3 ボタン</p> <p>CSS3 ページネーション</p> <p>CSS3 ボックス サイズ</p> <p>CSS3 フレキシブル ボックス</p> <p>CSS3 マルチメディア クエリ</p> <p>CSS3 マルチメディア クエリの例</p> </div> </div> </div> 2.cssスタイルファイルコンテナはオーバーフローによって非表示になり、テキスト領域は絶対位置に配置され、その後、処理のために js に渡されます。 *{パディング: 0; マージン: 0;} #div{top:200px;left:25%;width: 50%;height: 300px;position: absolute; } #div1{幅: 20px; 高さ: 300px; 位置: 相対; 背景: #CCCCCC; 境界線の半径: 28px; フロート: 右; カーソル: ポインター;} #div1 #div2{左: -4px;幅: 28px;高さ: 28px;境界線の半径: 50%;背景: 赤; 位置: 絶対;} #div3{幅: 90%; 高さ: 300px; 境界線: 2px 実線 #CCCCCC; 位置: 相対; フロート: 左; オーバーフロー: 非表示;} #div3 #div4{top:0;left:0;width: 100%; position: absolute; font-family: "Microsoft YaHei"; フォントサイズ: 19px; 文字間隔: 1px; パディング: 3px 6px;} 3.js スクリプトコードwindow.onload = 関数(){ var allDiv = document.getElementById('div'); var oDiv = document.getElementById('div2'); var aDiv = document.getElementById('div1'); var textDiv1 = document.getElementById('div3'); var textDiv2 = document.getElementById('div4'); // プログレスバーがドラッグされ、コンテンツはモーションイベントに従います oDiv.onmousedown = function (ev) { var oEvent =ev||イベント; var disY =oEvent.clientY -oDiv.offsetTop; oDiv.setCapture の場合 { oDiv.onmousemove =マウス移動; oDiv.onmouseup =マウスアップ; oDiv.setCapture(); }それ以外{ document.onmousemove =マウス移動; document.onmouseup =マウスアップ; } 関数mouseMove(ev){ var oEvent =ev||イベント; var t =oEvent.clientY -disY; var bottomLine = aDiv.offsetHeight - oDiv.offsetHeight; t < 0の場合{ t =0; }そうでない場合(t >bottomLine){ t = ボトムライン; } varパーセント =t/272; oDiv.style.top = t+'px'; textDiv2.style.top =-(textDiv2.offsetHeight-textDiv1.offsetHeight)*パーセント+'px'; }; 関数mouseUp(){ this.onmousemove = null; this.onmouseup = null; oDiv.releaseCapture の場合 { oDiv.releaseCapture(); } }; false を返します。 }; // プログレスバーをクリックしてタイマーを開始します。ボールが一定の速度でターゲットに到達したら、タイマーをクリアします。aDiv.onmousedown=function(ev){ var oEvent =ev||イベント; var divY =oEvent.clientY-allDiv.offsetTop; var タイマー =null;var 速度 = 10; クリアインターバル(タイマー) タイマー = setInterval(関数(){ var パーセント = oDiv.offsetTop / 272; oDiv.offsetTop<divY-28){ oDiv.style.top = oDiv.offsetTop + スピード + 'px'; textDiv2.style.top = -(textDiv2.offsetHeight-textDiv1.offsetHeight)*パーセント + 'px'; }それ以外の場合(oDiv.offsetTop>divY){ oDiv.style.top = oDiv.offsetTop - 速度 + 'px'; textDiv2.style.top = -(textDiv2.offsetHeight-textDiv1.offsetHeight)*パーセント + 'px'; }それ以外の場合(oDiv.offsetTop>260){ oDiv.offsetTop = 272+'px'; タイマーの間隔をクリアします。 }それ以外の場合(oDiv.offsetTop<10){ oDiv.offsetTop = 0+'px'; タイマーの間隔をクリアします。 }それ以外{ タイマーの間隔をクリアします。 } },10); } } 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
>>: Linux環境でのshadowsocks+polipoグローバルプロキシの設定
1. 親コンポーネントは props を使用して子コンポーネントにデータを渡すことができます。 2....
DataframeはSpark 1.3.0で導入された新しいAPIで、Sparkで大規模な構造化デー...
序文Linux が完全にセットアップされると、クローン機能を使用して短時間で複数の Linux を作...
問題の説明: Macを購入し、初めてMySQLをインストールしました。初期パスワードが分かりません。...
HTML ノードの追加と削除の簡単な例 HTML ノードの追加と削除の簡単な例<input t...
この記事では、花火効果を実現するためのJavaScriptの具体的なコードを参考までに紹介します。具...
Mysql5.5 デュアルマシン ホットスタンバイ実装 2つのMySQLをインストールするMySQ...
最近、データベース関連の操作が多くなり、会社の既存の仕様はあまり包括的ではありません。インターネット...
目次序文システム環境現在のシステムパーティションレイアウトデータのバックアップレスキューモードに入る...
1. VMwareのダウンロードとインストールリンク: https://www.jb51.net/s...
1. readonly 読み取り専用属性なので、値を取得できます2. 無効: 無効な属性、値を取得で...
バックグラウンド コントローラー @RequestMapping("/getPDFStre...
ステップ1: MySQL YUMソースを取得するMySQLの公式サイトにアクセスして、RPMパッケー...
ソフトウェアのグリーンバージョンとインストールバージョンの違いは何ですか?通常、ファイルのインストー...
サーバーの LNPM 環境をインストールして構成する場合、複数のバージョンの PHP の共存を考慮す...