この記事の例では、カスタムスクロールバーを実装するための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フィールドを定義し、その型は配列です (フィールド値の...
半年もブログを書いていなかったので、少し恥ずかしいです... 正月休みは、Dota をプレイしたり ...
まず、Alipay サンドボックスから一連のものをダウンロードします。多くのブログで取り上げられてお...
最近、外国人が CSS3 を使用してアコーディオン効果を実現しているビデオを見たので、自分で学習した...
目次序文知る練習すれば完璧になる序文wabpack では、ローダーの他にプラグインがコア機能です。プ...
Centos にプロジェクトをデプロイするときに奇妙な問題が見つかりました。データベース接続で例外...
構造とプレゼンテーションを分離するもう 1 つの重要な側面は、セマンティック マークアップを使用して...
私のシステムとソフトウェアのバージョンは次のとおりです。システム環境: win7、64ビットMySQ...
1. ul タグには、Mozilla ではデフォルトでパディング値がありますが、IE ではマージン値...
勉強中に読んだ本についてもよく聞かれます。以下は初心者におすすめの本です(私が勉強中に読んだ本です。...
目次Tomcat8のインストールと設定方法tomcat ダウンロードTomcat マネージャーを有効...
「大河は東に流れ、波は歴代の英雄たちを洗い流した。古城の西側は三国時代の周朗の赤壁だと言われている...
nginx の default_server ディレクティブは、server_name と一致しない...
CSS3 を使用して、クールなレーダースキャン画像を実現します。 コード上で直接: // インデック...
1: Baiduウェブサイトログイン入口ウェブサイト: http://www.baidu.com/s...