画像のシームレスなスクロールを実現する 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 ログ出力が大きすぎる問題の解決方法の詳細な説明

推薦する

WiFi 開発 | WiFi ワイヤレス テクノロジーの紹介

目次WiFiワイヤレステクノロジーの紹介1. WiFiテクノロジーの概要2. ESP8266の紹介W...

プロジェクトの再構築からプロジェクトにおける CSS3 カスタム変数の使用について話す

CSS3変数について変数を宣言するときは、変数名の前に 2 つのハイフン ( -- ) を追加します...

MySQLカスタム変数の概念と特徴

MySQL カスタム値は、値を保存するための一時的なコンテナです。サーバーへの接続がアクティブである...

Vue の計算プロパティ

目次1. 基本的な例2. 計算プロパティキャッシュとメソッド3. 計算プロパティセッター序文:通常、...

vue3 を使用したジグソーパズルゲームのリファクタリングの例

序文プロジェクト内のパズルゲーム(デジタル華容路とも呼ばれる)を再構築するのに 2 日かかりました。...

MySQL インデックス障害の上位 10 の問題の概要

目次背景1. クエリ条件に「or」が含まれているため、インデックスが失敗する可能性があります。 2....

オブジェクトアニメーションによってブロックされずにオブジェクトに div を表示する方法

今日はメニューボタンを作りました。マウスをボタンに移動するすると、ドロップダウンサブメニューが表示さ...

Linuxカーネルがプロセスアドレス空間に侵入し、プロセスメモリを変更する方法

プロセス アドレス空間の分離は、現代のオペレーティング システムの注目すべき機能です。これは、「古い...

Dockerはdockerfileを使用してnode.jsアプリケーションを起動します

Dockerfileの作成expressによって自動的に作成されたディレクトリを例にとると、ディレク...

クリーンなXHTML構文

XHTML を書くには、明確な HTML 構文が必要です。 XHTMLを書くには、きれいなHTML構...

MySQLへのJava接続の基礎となるカプセル化の詳細な説明

この記事では、Java接続MySQLの基礎となるカプセル化コードを参考までに紹介します。具体的な内容...

SQL インジェクション脆弱性プロセスの例と解決策

コード例: パブリッククラスJDBCDemo3 { パブリック静的voiddemo3_1(){ bo...

nginx + php の「入力ファイルが指定されていません」の解決策

本日、ローカル開発環境で突然「入力ファイルが指定されていません」というエラーが発生してしまいました。...

LinuxシステムのAnsible自動運用保守導入方法

Ansible は、Python をベースに開発された新しい自動運用・保守ツールです。 多くの古い運...

Vueプロジェクトでlessを使用するためのヒント

目次序文1. スタイルの浸透1. パターン浸透とは何ですか? 2. 使い方は? 2. ミキシング1....