js はマウスによる画像の切り替えを実装します (タイマーなし)

js はマウスによる画像の切り替えを実装します (タイマーなし)

この記事の例では、マウス切り替え画像を実現するためのjsの具体的なコードを参考までに共有しています。具体的な内容は次のとおりです。

この効果を実現するには、対応する小さな点にマウスを移動するか、左右の矢印をクリックして画像を切り替えます。画像の上に画像のページ番号が表示され、下に対応する画像のタイトルが表示されます。

完全なコードは次のとおりです。

<!DOCTYPE html>
<html lang="ja">

<ヘッド>
  <メタ文字セット="UTF-8">
  <meta name="viewport" content="width=デバイス幅、初期スケール=1.0">
  <meta http-equiv="X-UA-compatible" content="ie=edge">
  <title>画像スイッチ</title>
  <スタイル>
    。写真 {
      位置: 相対的;
      幅: 500ピクセル;
      高さ: 333px;
      マージン: 0 自動;
      境界線: 2px実線rgb(231, 127, 217);
      オーバーフロー: 非表示;
    }

    .半径{
      幅: 100%;
      高さ: 10px;
      位置: 絶対;
      下: 30px;
      テキスト配置: 中央;
    }

    .pg { //画像の上にページ番号を配置します。position: absolute;
      マージン: 0;
      幅: 100%;
      高さ: 20px;
      背景色: rgba(0, 0, 0, .4);
      テキスト配置: 中央;
      フォントサイズ: 16px;
      フォントの太さ: 600;
      色: #fff;
    }

    。タイトル {
      位置: 絶対;
      幅: 100%;
      下: 0px;
      テキスト配置: 中央;
      フォントサイズ: 16px;
      フォントの太さ: 600;
      色: rgb(21, 223, 72);
    }

    スパン {
      表示: インラインブロック;
      境界線: 10px 実線 #fdfdfd;
      境界線の半径: 50%;
    }

    。アクティブ {
      境界線: 10px 実線 #656466;
    }

    /* 左矢印と右矢印 */
    .矢印左、
    .矢印右 {
      位置: 絶対;
      幅: 41ピクセル;
      高さ: 69px;
      フォントサイズ: 30px;
      行の高さ: 70px;
      テキスト配置: 中央;
      色: #D6D8D4;
      背景色: rgba(0,0,0,.3);
    }

    .矢印左 {
      左: 0;
      上位: 40%
    }

    .矢印右 {
      右: 0;
      上位: 40%
    }
  </スタイル>
</head>

<本文>
  <div class="picture">
    <!-- 画像ページ番号-->
    <p class="pg">表紙</p>
    <img src="./image/d8.jpeg" alt="">

    <!-- 小さな点 -->
    <p class="radius"></p>
    <!-- 画像の下のタイトル -->
    <p class="title">タイトル</p>

    <!-- 左矢印と右矢印 -->
    <div class="arrowhead-left" id="al"> < </div> 
    <div class="arrowhead-right" id="ar"> > </div>
  </div>

  <スクリプト>
    var address = ["./image/d1.jpeg", "./image/d2.jpeg", "./image/d3.jpeg", "./image/d4.jpeg", "./image/d5.jpeg", "./image/d7.jpeg"];
    // var imgs = document.getElementsByTagName("img");
    var imgs = document.querySelector("img");
    var len = アドレス.長さ;
    var str = "";
    var pp = document.getElementsByTagName("p"); //コレクションを取得する // var pp = document.querySelector("p"); //要素を取得する var al = document.getElementById("al");
    var ar = document.getElementById("ar");
    //spanタグを追加 for (i = 0; i < len; i++) {
      str += ' <span></span>'
    }
    コンソールログ(str);
    コンソールログ(pp);
    pp[1].innerHTML = str;
    var spans = pp[1].getElementsByTagName('span');
    spans[0].className = 'アクティブ';

    (i = 0; i < len; i++) の場合 {
      spans[i].index = i;
      spans[i].onmouseover = function () { //すべてのドットのクラスは空です for (i = 0; i < len; i++) {
          spans[i].className = "";
        }
        this.className = 'active'; //クリックされたスパン(ドット)にクラス名を追加します。imgs.src = address[this.index];  
        pp[0].innerHTML = [this.index + 1] + "/6";
        pp[2].innerHTML = "風景" + [this.index + 1];

      }
    }
    var n = 0 ;
    ar.onclick = 関数(){

      (i = 0; i < len; i++) の場合 {
        spans[i].className = "";
      }

      spans[n].className = "アクティブ";
      imgs.src = アドレス[n];
      pp[0].innerHTML = (n+1) + "/6";
      pp[2].innerHTML = "風景" +(n+1);
      (n<5)の場合{
        n++; 
      }
      それ以外 {
       0 の場合
      }
    }
    al.onclick = 関数(){

     (i = 0; i < len; i++) の場合 {
       spans[i].className = "";
     }
     
     spans[n].className = "アクティブ";
     imgs.src = アドレス[n];
     pp[0].innerHTML = (n+1) + "/6";
     pp[2].innerHTML = "風景" +(n+1);
     (n>0)の場合{
       n--; 
     }
     それ以外 {}
      n=(長さ-1);
     }
     }
  </スクリプト>
</本文>

</html>

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • 期間限定フラッシュセール機能を実現するJavaScriptタイマー
  • js で 0ms 遅延タイマーを実装するいくつかの方法
  • 画像のシームレスなスクロールを実現する JavaScript タイマー
  • JSタイマーを使用して要素を移動する
  • jsタイマーの最初の遅延の原因と解決策
  • js で setInterval クリアタイマーが機能しない問題を解決する
  • JS タイマーを使用して送信の成功を促す方法
  • JavaScript タイマーの詳細

<<:  スケジュールされた時間に古いジャンクファイルを自動的に削除する Linux 用の Autotrash ツール

>>:  MySQL 5.7.13 のインストールと設定方法のグラフィック チュートリアル (win10 64 ビット)

推薦する

iview権限管理の実装

目次iview-admin2.0 組み込み権限管理権限に基づいてコンポーネントの表示を制御するカスタ...

HTMLの行間設定方法と問題点

<p></p> の行間隔を設定するには、style="line-h...

Vueはグラフィック検証コードを実装する

この記事の例では、グラフィック検証コードを実装するためのVueの具体的なコードを参考までに共有してい...

CSS 垂直センタリングの代替実装コードの詳細な説明(非従来型)

序文ご存知のとおり、「CSS で要素を垂直方向に中央揃えするにはどうすればよいか」という質問は、すで...

Windows 64 ビットに MySQL を再インストールするチュートリアル (Zip バージョン、解凍バージョンの MySQL インストール)

MySQLをアンインストールする1. コントロールパネルで、MySQLのすべてのコンポーネントをア...

国内SNSのホームページを比較・分析して得た経験をみんなで共有(写真)

この記事では、ソーシャル ウェブサイトのホームページを比較分析することで洞察を得て、ソーシャル ウェ...

MySQL テーブルを作成するためによく使用される SQL ステートメントの概要

最近、私はプロジェクトに取り組んでおり、背景を記述するために SQL ステートメントを使用する必要が...

Linux での Nginx 監視の問題

nginxのインストール仮想マシンがインターネットにアクセスできることを確認します。 1. ルートユ...

CentOS に MySQL をインストールしてリモート アクセスを設定する方法

1. MySQLリポジトリソースをダウンロードする$ wget http://repo.mysql....

配列をフラット化する 5 つの JavaScript の方法

目次1. 配列の平坦化の概念2. 実装1. 減らす2. toString と split 3. 結合...

MySQL テーブルを削除するときに外部キー制約を無視するシンプルな実装

テーブルを削除することはあまり一般的ではありませんが、特に外部キーの関連付けがあるテーブルの場合は、...

ElasticSearch と ElasticSearch-Head の Docker デプロイメントの実装

この記事では主にDockerを使ってElasticSearch:バージョン6.8.4をデプロイする方...

js キャンバスはスライダー検証を実現します

この記事の例では、スライダー検証を実装するためのjsキャンバスの具体的なコードを参考までに共有してい...

Bootstrapグリッドの垂直および水平配置の詳細な説明

目次1. Bootstrap グリッドレイアウト2. 垂直方向の配置2.1 行タグの垂直方向の配置を...

CentOS に Docker をインストールし、Springboot で Docker をリモート公開する方法

目次1. CentOS7.0へのJDK1.8のインストール2. Dockerのインストール3.Doc...