画像のシームレスなスクロールを実現する JavaScript タイマー

画像のシームレスなスクロールを実現する JavaScript タイマー

この記事では、画像のシームレスなスクロールを実現するためのJavaScriptの具体的なコードを参考までに紹介します。具体的な内容は次のとおりです。

文章:

  • setIntervalはインターバルタイマーを開始します
  • clearTimeoutはタイマーを閉じます
  • offsetWidth 幅を取得
  • offsetLeft 左オフセットを取得する
<!DOCTYPE html>
<html lang="ja">
<ヘッド>
    <メタ文字セット="UTF-8">
    <title>シームレスなモビリティ</title>
    <スタイル>
        *{マージン: 0; パディング: 0;}
        #div1{width:520px; height:170px; margin:20px auto; position: relative; /* !!! div1の位置は相対的です*/
                背景: ピンク; オーバーフロー: 非表示} /* !!! オーバーフロー: 非表示 */
        #div1 ul{position: absolute; left:0; top:0;} /* !!! ul の位置: absolute、left の値を制御します*/
        #div1 ul li{float:left; width:130px; height:170px; list-style: none}
    </スタイル>
    <スクリプト>
        window.onload = 関数(){
            var oDiv = document.getElementById('div1');
            var oUl=oDiv.getElementsByTagName('ul')[0];
            var aLi=oUl.getElementsByTagName('li');
            var 速度 = 2;

            oUl.innerHTML+=oUl.innerHTML; // 4*2 画像を移動するのと同等 oUl.style.width=aLi[0].offsetWidth * aLi.length + 'px'; // !!!!!! offsetWidth

            関数Move() {
                if(oUl.offsetLeft <- oUl.offsetWidth/2){ // 左に半分移動してから戻ります oUl.style.left='0';
                }
                if(oUl.offsetLeft>0){ // // 右に半分移動してから戻ります oUl.style.left = - oUl.offsetWidth/2 +'px';
                }
                oUl.style.left=oUl.offsetLeft + speed + 'px'; // !!!!!!!! offsetLeft
            }

            var Timer1 = setInterval(Move, 30); // setIntervalはインターバルタイマーをオンにします oDiv.onmouseover = function () {
                タイマー1のタイムアウトをクリアします。
            };
            oDiv.onmouseout=関数() {
                タイマー1=setInterval(移動、30);
            };

            document.getElementsByTagName('a')[0].onclick=関数 () {
                speed=-2; // 左への速度};
            document.getElementsByTagName('a')[1].onclick=関数 () {
                speed=2; // 右方向の速度};
        };
    </スクリプト>

</head>
<本文>
<a href="javascript:;" >左に移動</a>
<a href="javascript:;" >右に移動</a>
    <div id="div1">
        <ul>
            <li><img src="img/aa.jpg"/></li>
            <li><img src="img/bb.jpg"/></li>
            <li><img src="img/cc.jpg"/></li>
            <li><img src="img/dd.jpg"/></li>
        </ul>
    </div>
</本文>
</html>

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

以下もご興味があるかもしれません:
  • JavaScript タイマー原理の詳細な説明
  • JavaScriptタイマーの詳細な説明
  • JavaScript タイマーの詳細
  • 期間限定フラッシュセール機能を実現するJavaScriptタイマー
  • JavaScript タイマーの種類の概要

<<:  MySQL スケジュールタスク例チュートリアル

>>:  Linux で nohup ログ出力が大きすぎる問題の解決方法の詳細な説明

推薦する

nginxリバースプロキシwebSocket設定の詳細な説明

最近、プロジェクトで作業しているときに webSocket プロトコルを使用し、WeChat アプレ...

Linux のごみ箱メカニズムの実装プロセスと使用方法の詳細な説明

序文: Linux システムでの rm は元に戻せません。コマンドの設計自体に問題はありません。問題...

Vueはシンプルな虫眼鏡効果を実装します

この記事では、参考までに、簡単な虫眼鏡効果を実現するためのVueの具体的なコードを紹介します。具体的...

MySQLフィールドのデフォルト値を設定する方法

目次序文: 1. デフォルト値に関する操作2. 使用上の提案要約:序文: MySQL では、テーブル...

SQL インジェクションの詳細

1. SQL インジェクションとは何ですか? SQL インジェクションは、入力パラメータに SQL ...

Vueプロジェクトでページジャンプを実装する方法

目次1. vue-cli デフォルト プロジェクトを作成する (babel のみを含む) 2. 作成...

Vueはアンカー配置機能を実装します

この記事では、アンカー配置を実装するためのVueの具体的なコードを例として紹介します。具体的な内容は...

Docker で Selenium グリッド分散環境を構築する実用的な方法

最近、Zoom ビデオ会議をテストし、100 人が同時に会議に参加することをシミュレートする必要があ...

Nginx ベースのアクセス制御と接続制限の実装

序文Nginxの組み込みモジュールは、同時リクエスト数の制限とリクエストのソースの制限をサポートして...

時点別のMySQLデータベース復旧実績

はじめに: 時間ポイントによる MySQL データベースの復旧どの企業にとっても、データは最も価値の...

jQuery キャンバスで画像検証コード例を描画する

この記事では、jQuery Canvasの描画画像検証コードの具体的なコードを例として紹介します。具...

あまり多くのコードを書かずに、ハイパーリンクを使ってシンプルで美しいカスタムチェックボックスを実装できます。

今日ふと、HTML でチェックボックスのスタイルを変更できる範囲が限られていることと、チェックボック...

MySQLトリガーについて深く理解するための記事

目次1. SC テーブルを挿入または変更するときに、テスト スコアが 0 ~ 100 の範囲外の場合...

JavaScript を使用せずに HTML の a タグを無効にするには、純粋な CSS を使用します。

実際、この問題は、HTML の select タグを初めて学んだときにすでに発生していました。今日に...

Angularフレームワークのビュー抽象定義の詳細な説明

序文「大規模なフロントエンド プロジェクト向け」に設計されたフロントエンド フレームワークである A...