この記事では、jsネイティブカルーセルプラグインの具体的なコードを参考までに共有します。具体的な内容は次のとおりです。 呼び出すときは、DIVを書くだけでよい 呼び出される js 部分の構成内容: カルーセル画像を表示する位置(div)を渡します 受信画像とクリック可能なリンク さっそく、コードを始めましょう。 html <div id="バナー"></div> HTML ドキュメントの <script> には、カルーセルの構成が含まれています。パラメータは 2 つあります。最初のパラメータは、渡す必要のある DIV (カルーセルが表示される領域) です。2 番目のパラメータは配列です。配列内の要素はオブジェクトです。オブジェクトの最初の属性 imgUrl は画像を表し、2 番目の属性 link はジャンプ リンクを表します。 配列要素は画像であり、数は無制限で適応性がある <スクリプト> バナーエリア(document.getElementById("バナー"),[ {imgUrl:"画像", link:"ジャンプリンク" }, {imgUrl:"画像", link:"ジャンプリンク" }, {imgUrl:"画像", link:"ジャンプリンク" } ]) </スクリプト> JSプラグインコンテンツ // 2 つのパラメータ、1 つ目はスライド領域、2 つ目は設定関数です。bannerArea(areaDom, options) { var imgArea = document.createElement("div"); var numberArea = document.createElement("div"); var curIndex = 0; //最初のスライドショー var changeTimer = null; var changeDuration = 1000; //間隔 var timer = null; initImg();//画像を表示する領域を作成します initNumber();//バッジを表示する領域を作成します setStatus();//ステータスを設定します autoChange();//自動的に切り替えます //以下はローカル関数です //画像を作成し、スタイルを設定します function initImg() { imgArea.style.width = "100%"; imgArea.style.height = "100%"; imgArea.style.display = "flex"; imgArea.style.overflow = "非表示"; (i = 0 とします; i < options.length; i++) { var obj = オプション[i]; var img = document.createElement("img"); イメージをアップロードする スタイルの幅 = "100%"; スタイルの高さ = "100%"; スタイル: img.addEventListener("クリック", 関数() { location.href = オプション[i].link; }) imgArea.appendChild(img); } imgArea.addEventListener("mouseenter", 関数() { 間隔をクリアします(変更タイマー)。 変更タイマー = null; }) imgArea.addEventListener("mouseleave", 関数() { 自動変更(); }) areaDom.appendChild(画像エリア); } //上付き文字要素を作成し、スタイルを設定する function initNumber() { numberArea.style.textAlign = "center"; numberArea.style.marginTop = "-25px"; (i = 0 とします; i < options.length; i++) { var sp = document.createElement("span"); sp.style.width = "12px"; sp.style.height = "12px"; sp.style.background = "ライトグレー"; sp.style.display = "インラインブロック"; sp.style.margin = "0 7px"; sp.style.borderRadius = "50%"; sp.style.cursor = "ポインタ"; sp.addEventListener("クリック", 関数() { 現在のインデックス = i; ステータスを設定します。 }) 番号エリアに子要素を追加します。 } areaDom.appendChild(数値エリア); } //コーナーエリアのステータスを設定する function setStatus() { //円の背景色を設定します for (var i = 0; i < options.length; i++) { if (i === 現在のインデックス) { //選択した数値に背景色を設定しますArea.children[i].style.background = "rgb(222 57 57)"; } それ以外 { //非選択 numberArea.children[i].style.background = "lightgray";; } } //画像を表示します var start = parseInt(imgArea.children[0].style.marginLeft); var end = curIndex * -100; var dis = 終了 - 開始; var 期間 = 500; var speed = dis / 期間; if (タイマー) { タイマーの間隔をクリアします。 } タイマー = setInterval(関数() { 開始 += 速度 * 20; imgArea.children[0].style.marginLeft = 開始 + "%"; (Math.abs(終了 - 開始) < 1) の場合 { imgArea.children[0].style.marginLeft = end + "%"; タイマーの間隔をクリアします。 } }, 20) } // 自動切り替え関数 autoChange() { if (変更タイマー) { 戻る; } changeTimer = setInterval(関数() { (curIndex === options.length - 1)の場合{ カーソルインデックス = 0; } それ以外 { curIndex++; } ステータスを設定します。 }, 変更期間) } } スライドショーの速度(切り替え時間)はプラグインコードで調整できます。var changeDuration = 1000; //interval 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: nginx proxy_cache キャッシュ設定の詳細な説明
>>: Linux でリモート MySQL データベースを手動で展開する方法の詳細な説明
目次複数の種類のフィルタリングをサポート複数の範囲のクエリを避ける並べ替えを最適化するインデックスの...
今日はメニューボタンを作りました。マウスをボタンに移動するすると、ドロップダウンサブメニューが表示さ...
MySQL ストアド プロシージャ1. ストアドプロシージャ構文(フォーマット)を作成する 区切り文...
2日前、ダブル11ショッピングフェスティバルを利用して、Alibaba CloudでECS(サーバー...
JavaScript に依存せず、純粋な CSS を使用してsvgストローク描画アニメーション効果と...
インターネットにはすでにこの種の記事が溢れていますが、私がこれをまだ書いている理由は単純です。それは...
1. インストール前の準備1. 公式ウェブサイトからUbuntu 20.04のイメージファイルを直接...
この記事では、Web デザインにおけるフォーム入力ボックスに関するヒントとコードをいくつか紹介します...
最近ファイルシステムを作ったのですが、フィールドが多すぎることに気づきましたページングを使用した複数...
<br />ソース コード内で表の構造を明確に区別するために、HTML 言語では、表のヘ...
イベントの説明onactivate: オブジェクトがアクティブ要素として設定されたときに発生します。...
3G の普及により、携帯電話を使ってインターネットにアクセスする人が増えています。モバイル デバイ...
原則的にはwindow.print()メソッドを呼び出すことですが、このメソッドは現在のページ全体を...
説明 ソリューションVMware 15 仮想マシン ブリッジ モードではインターネットにアクセスでき...
質問コントロールをクリックすると、コントロールの下にフローティング レイヤーが表示されます。通常の方...