1. 表示効果: 2、HTML構造 <div class="プロセスリスト-lpu"> <div class="process_line"></div> <div class="content_list"> <ul> <li><a href="javascipt:;">エンド カスタマーが製品を入手<b>1</b></a> </li> <li><a href="javascipt:;">EFOSE Web サイトにログインし、インストールまたはメンテナンスの要件を提示します <b>2</b></a></li> <li><a href="javascipt:;">EFOSE 優先連絡先サービス ポイント<b>3</b></a> </li> <li style="margin-left:115px;"><a href="javascipt:;">サービスを受けるための顧客連絡先サービスポイント<b>4</b></a> </li> <li><a href="javascipt:;">顧客が直接請求書を支払うか、EFOSE がメンテナンス費用を支払います<b>5</b></a> </li> </ul> <div class="clear"></div> </div> </div> 3. 主なCSSスタイル .line-lpu{ 高さ:55px; 位置:相対; 幅:100%; オーバーフロー:非表示;} .line-lpu span{ 幅:43px; 高さ:46px; 背景:url('https://www.efose.com/images/banners/lpu_03.png') 繰り返しなし; 位置:絶対;上部:0;} .border-lpu{border-bottom:1px solid #959595; height:23px; } .join-lpu li{ 幅:19%; フロート:左; マージン右:8px; 背景:なし; パディング:0; } .join-lpu li a{ display:block; color:#606060; text-decoration:none; border:1px solid #959595; min-height:215px; padding:10px;position:relative; overflow:hidden;} .join-lpu li a:hover{border:1px solid #337ab7;} .join-lpu li b{ フォントサイズ:60px; 位置:絶対; 下:7px; 右:-1px; フォントスタイル:斜体; 色:#c7c7c7;} .clear{clear:both;} .step-lpu span{ background:url('https://www.efose.com/images/banners/icon-lpu.png') 繰り返しなし; 表示:ブロック; 幅:75px; 高さ:65px; 左余白:28px;} .step-lpu .icon0{ 背景位置:0 0;} .step-lpu .icon1{ 背景位置:0 -70px;} .step-lpu .icon2{ 背景位置:0 -140px;} .step-lpu .icon3{ 背景位置:0 -204px; 高さ:58px; 下部余白:7px;} .step-lpu .icon4{ 背景位置:0 -260px;} 4. JavaScript の記述 <script type="text/javascript"> //animationHoverオブジェクトをインスタンス化します。window.onload = function(){ var ah = 新しい animationHover(); ああ、init(); }; //ラベルオブジェクトを初期化する function animationHover(){ this.step = document.getElementById('step'); this.stepLi = this.step.getElementsByTagName('li'); 行をドキュメントに追加します。 this.attr = null; this.timer = null; this.target = null; } //イベントを初期化する animationHover.prototype.init=function(){ これ = これ; for(var i=0;i<this.stepLi.length;i++){ this.stepLi[i].index=i; //イベントをliタグにバインドします this.stepLi[i].onmouseover=function(e){ var myIndex=this.index; This.onOver(This.line,(myIndex*162+55)); }; this.stepLi[i].onmouseout=関数(){ This.line.style.left=myIndex*162+55+'px'; }; } }; //マウス処理関数を定義する animationHover.prototype.onOver=function(obj,target){ これ=これ; タイマー間隔をクリアします。 this.target=ターゲット; タイマー = setInterval(関数(){ var target=This.target; // ターゲット ポイントを停止します var attrValue=parseInt(This.getStyle(obj,'left')); var dx=target-attrValue; //ターゲットポイントからの「距離」 var 速度 = 1/10 * dx; 速度=速度>0?Math.ceil(速度):Math.floor(速度); // 丸めによるジッターを防ぐ if(target==attrValue) clearInterval(timer); //目標地点に到達したらタイマーをオフにし、そうでなければ{ obj.style.left=attrValue+speed+'px'; } },100); }; //現在のタグオブジェクトの CSS 属性値を取得します。animationHover.prototype.getStyle = function (obj, attr) { (obj.currentStyle)の場合{ obj.currentStyle[attr]を返します。 }それ以外{ getComputedStyle(obj,false)[attr]を返します。 } }; </スクリプト> 要約する 上記は、マウスの動きに追従する選択効果を実現するために私が紹介した html+css+javascript です。お役に立てれば幸いです。ご質問があれば、メッセージを残してください。すぐに返信いたします。 |
<<: ウェブフロントエンドに対する一般的な攻撃とその防止方法
序文低速システム コールとは、決して戻らない可能性があり、プロセスを永久にブロックするシステム コー...
以前、Amap API を非同期にロードする方法を紹介しました。今回は、vue-amap の使用方法...
目次コンポーネントインフラストラクチャ目的: 画像拡大鏡機能を実現するvueuseをインストールする...
1. コマンドの紹介ln コマンドは、ファイルのリンクを作成するために使用されます。リンクは、ハード...
MySQL 8.0のインストールと設定方法は参考までに。具体的な内容は以下のとおりです。ダウンロード...
私の友人の多くは、127.0.0.1 と localhost の違いがわからず、問題に遭遇するかもし...
1. 概要information_schema データベースは performance_schema...
目次1. 場所オブジェクト1. URL 2. 場所オブジェクトのプロパティ3. ロケーションオブジェ...
この記事では、JavaScriptキャンバスでミラーイメージ効果を実現するための具体的なコードを参考...
目次1. フィルターの概念1. グローバルフィルターのフォーマットをカスタマイズする2. フィルター...
目次1. いくつか2. すべての3. 見つける1. いくつかsome()メソッドは、指定された関数の...
前のこれは古くからある古典的な質問です。以前読者から質問があったので、ここでお答えします。簡単な例か...
システムが遅いと感じてソースを変更したい場合は、別の記事で整理しました https://blog.c...
目次1. 新しいプロジェクトを作成する2. 依存関係を追加する3. SpringコンテナにDrive...
目次シングルスレッド非同期シングルスレッドしかし、開発中にネットワーク リクエストやスケジュールされ...