画像カルーセルを実装するためのネイティブJS 小さな広告プラグインを実装するためのJS

画像カルーセルを実装するためのネイティブJS 小さな広告プラグインを実装するためのJS

最近、ネイティブ JS を使用して、さらにいくつかの小さな機能を実装したいと思っています。現在、ブログにそれらを書いています。参照してください。質問がある場合は、指摘してください。

カルーセル

必要:

画像はループで回転します。左または右をクリックすると切り替えることができます。切り替え状態は <li> にバインドされています。マウスを画像内に移動するとホバーし、マウスを画像外に移動すると回転が継続します。

<!DOCTYPE html>
 
<html lang="ja">
 
<ヘッド>
 
    <メタ文字セット="UTF-8">
    <title>ネイティブ js カルーセル画像</title>
 
</head>
 
<スタイル>
    。容器{
        幅: 100%;
        高さ: 500px;
        位置: 相対的;
    }

    。コンテンツ{
        幅: 900ピクセル;
        高さ: 450px;
        位置: 相対的;
        オーバーフロー: 非表示; 
        境界線: 1px 実線海緑; 
        マージン: 0 自動;
    }
 
    .スライダー画像{ 
        幅: 900ピクセル; 
        高さ: 450px; 
        マージン: 10px 自動; 
    }
 
    .slider-img 画像{
        垂直方向の位置合わせ: 上;
        幅: 800ピクセル;
        高さ: 400px;
        マージン: 10px 50px;
        表示: ブロック;
 
    }
 
    。左{
        上マージン: -300px;
        左マージン: 50px;
        幅: 100ピクセル;
        高さ: 100px;
    }
 
    .左画像、.右画像{
        幅: 100ピクセル;
        高さ: 100px;
    }
 
    。右{
        上マージン: -100px;
        右マージン: 50px;
        フロート: 右;
        幅: 100ピクセル;
        高さ: 100px;
 
    }
 
 
 
    。ドット{
        位置: 相対的;
        上位: 23%
        左: 43%;
        幅: 50%;
    }
 
    .dotul{
        幅: 450ピクセル;
    }

    .dotul li{ 
        幅: 20px; 
        高さ: 20px;
        背景色: 海緑;
        リストスタイル: なし;
        フロート: 左;
        境界線の半径: 20px; 
        左マージン: 15px; 
        zインデックス: 999; 
        カーソル: ポインタ; 
    }
 
    。アクティブ{
        背景色:オレンジ !重要;
    }
 
 
 
</スタイル>
 
<本文>
 
    <div class="コンテナ" id="コンテナ">
 
        <div class="content" id="content">
            <div class="slider-img" id="slider" >
                  <a href="javascript:;" >
                    <img src="./img/88.jpg" alt="" id="img">
                </a>
            </div>
 
        </div>
        <div class="btn">
            <div class="left" id="left">
                <a href=" ###" ><img src=""></a>
            </div>
 
            <div class="right" id="right">
                <a href=" ###" ><img src=""></a>
            </div>
        </div>
 
        <div class="dot">
            <ul id="ul" class="dotul">
                <li class="active"></li>
                <li></li>
                <li></li>
               <li></li>
            </ul>
        </div>
</div>

js コードを使用する場合は、html に JS を導入することを忘れないでください。

var コンテナ = document.getElementById("コンテナ"); 
var コンテンツ = document.getElementById("コンテンツ");
var スライダー = document.getElementById("スライダー");
var img = document.getElementById("img");
var ul = document.getElementById("ul"); 
タグ名によって要素を取得します。 
var left = document.getElementById("left"); 
var right = document.getElementById("right"); 
var 数値 = 0;
var タイマー = null;    
var picList = ["./img/88.jpg","./img/are.jpg","./img/family.jpg","./img/one.jpg"];
//liをリストの添え字に対応させる //画像の表示方法を設定する。表示時はliのドットが画像にバインドされる ShowPicture = function() {
       img.src = picList[番号];
       for(var i = 0; i < li.length; i++) {
           li[i].className = '';
       }
       li[num].className = 'アクティブ';
    }
  
    //左クリック、すでに最初の画像の場合は、最後の画像に戻ります。onclick = function() {
        数値--;
        if(数値 < 0) {
           num = picList.length-1;
        }
        画像を表示します。
    }
  

    // 右クリックし、最後の画像の場合は最初の画像に戻る right.onclick = function() {
        数値++;
        if(num >= picList.length) { //3
            数値 = 0;
        }
        画像を表示します。
    }
    
     //ドットをクリックすると対応する画像にジャンプし、liとリストの添え字を一致させます list.index=li.index
   
     for(var i = 0; i < picList.length; i++) {
         li[i].インデックス = i;
         li[i].onclick = 関数() {
             num = this.index;
             画像を表示します。
         }
     }

    //写真を自動的に回転します。呼び出すたびにタイマーをクリアし、呼び出し後にタイマーを返して、時間差がどんどん大きくならないようにすることを忘れないでください。autoChange = function() {
        タイマーの間隔をクリアします。
        タイマー = setInterval(() => {
            数値++;
            num % = picList.length;
            画像を表示します。
        }, 3000);
        タイマーを返します。
    }
    ウィンドウのonloadを自動変更します。

   
    //イベント img.onmouseover = function() {
        タイマーの間隔をクリアします。
    }
    img.onmouseleave = autoChange;

広告プラグイン

要件:ページが読み込まれると、広告がポップアップ表示され、カルーセルに表示されます。マウスを移動してホバーし、マウスを移動しても広告は引き続き表示されます。削除するには [X] をクリックします。

<div id="勝つ">
        <画像id = "画像" />
        <button id = "ad_btn">X</button>  
        // 練習中ですが、クロスはXに置き換えられています。自分のプロジェクトに参加するときにアイコンに置き換えることができます。
</div>
//ページが読み込まれた後、ポップアップ広告が表示されます。削除するには「X」をクリックします。
var ad = document.getElementById('win');
var img = document.getElementById('img');
var ad_btn = document.getElementById('ad_btn');
var タイマー;
window.onload = 関数(){
    // clearInterval(タイマー);
    タイマー = setTimeout(() => {
            ad.style.display = 'ブロック';  
        }, 2000);
        変化();
}

var count=0;
var 数値 = 0;
var imgTimer = null;
//画像ソースリスト
var picList = ['../img/88.jpg','../img/one.jpg','../img/family.jpg','../img/are.jpg'];
関数変更() {
    クリアインターバル(画像タイマー)
    imgTimer = setInterval(() => {
       if(count === picList.length) {
           カウント = 0;
           リセット表示();
       } それ以外 {
           表示を開始します。
       }
       カウント++;          
   }, 3000);
}
関数resetShow() {
    画像のリストをコピーします。
    数値 = 0;
    表示を開始します。
}

関数startShow() {
    if(num < picList.length) {
        img.src = picList[num++];
    } それ以外 {
        リセット表示();
    }
   
}


ad_btn.addEventListener('クリック', (e)=>{
    ad.style.display = 'なし';
    タイムアウトをクリア(タイマー)
});

ad.addEventListener('マウスオーバー', ()=>{
    間隔をクリアします(imgTimer);
})
ad.onmouseleave = 関数() {
    変化();
}

実装表示:

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

以下もご興味があるかもしれません:
  • js 画像カルーセル (5 枚の写真)
  • js 画像自動カルーセル コード共有 (js 画像カルーセル)
  • 最もシンプルな JavaScript 画像カルーセル コード (2 つの方法)
  • 画像カルーセルの特殊効果を実現するためのネイティブ js と jQuery
  • js 画像カルーセル効果実装コード
  • JS を使用してシンプルな画像カルーセル効果を実装する方法
  • JS でシンプルな画像カルーセル効果を実現
  • スクロールホイールカルーセル画像を実現するための JavaScript
  • JSはシンプルな自動画像回転を実装します
  • jsはカルーセル画像の効果を実現し、純粋なjsは画像の自動切り替えを実現します

<<:  MySQL コピーテーブルと許可分析の 3 つの実装方法

>>:  Linux resolv.conf の簡単な分析

推薦する

MySQLクエリトランザクション処理へのノード接続の実装

目次トピックmysqlの追加、削除、変更、クエリを入力しますMySQL トランザクション処理私は M...

Ubuntu の Python で C/C++ メソッドを呼び出すダイナミック リンク ライブラリの詳細な説明

ブーストをインストールPython から C/C++ を呼び出す方法はたくさんあります。この記事では...

Linux ファイルとユーザー管理の実践

1. /etc ディレクトリ内の、文字以外の文字で始まり、その後に文字と任意の長さのその他の文字が続...

js 配列エントリ() 反復メソッドを取得する

目次1.entires() メソッドの詳細な構文2.entires() メソッドの一般的な使用法と注...

MacOS での MySQL 8.0.18 のインストールと設定方法のグラフィック チュートリアル

この記事では、MacOSでのMySQL 8.0.18のインストールと成功したコマンドライン操作を記録...

WeChatアプレットは画像コントロールを選択します

この記事の例では、WeChatアプレットで画像コントロールを選択するための具体的なコードを参考までに...

MySQL におけるデータベース間関連クエリメソッド

ビジネスシナリオ: 異なるデータベース内のテーブルをクエリするたとえば、関連付けられるテーブルは、マ...

アカウントとパスワードを記憶する機能を実現するVueの考え方とプロセス

目次実装のアイデアアカウント パスワードを保存する方法は 3 つあります。機能インターフェースアカウ...

CSS でマウスの位置をマッピングし、マウスを動かしてページ要素を制御する (サンプル コード)

マウスの位置をマッピングしたり、ドラッグ効果を実装したりすることは、 JavaScriptで行うこと...

HTML タグのセマンティクス化 (H5 を含む)

導入HTML は、Web ドキュメントのコンテンツのコンテキスト構造と意味を提供します。HTML 自...

MySQLでユーザー認証情報を表示する具体的な方法

具体的な方法: 1. コマンドプロンプトを開く2. mysql -u root -pコマンドを入力し...

Faint: 「Web2.0 を使用して標準に準拠したページを作成する」

今日、ある人がウェブサイト開発プロジェクトについて話をしてくれました。具体的な要件について話すと、「...

NginxにLuaモジュールを追加する方法

luaをインストールする http://luajit.org/download/LuaJIT-2.0...

Dockerコンテナデータをコピーしてバックアップする方法の詳細な説明

ここでは、Jenkins コンテナを例に 3 つの方法を紹介します。方法1コンテナをイメージにパッケ...

Windows Server 2008 R2 に MySQL 5.7.10 をインストールする手順

MSIインストールパッケージを使用してインストールするご使用のオペレーティング システムに応じて、対...