この記事では、画像ウォーターフォールフローを実現するためのJSの具体的なコードを参考までに共有します。具体的な内容は次のとおりです。 プロセス: 1. すべての画像を保存するモジュール bigblock を作成します。 <!DOCTYPE html> <html> <head lang="ja"> <メタ文字セット="UTF-8"> <title>写真の滝</title> <スタイル> *{ マージン:0; パディング:0; } 体{ /* 背景: #ebebeb;*/ 背景: url(./img/bging2.jpg); 背景サイズ:100% ; 高さ:100%; } .bigblock { 位置: 相対的; 幅:650ピクセル; 最小高さ: 200px; 背景: #fff; マージン:自動; } .smallblock{ 位置:絶対; 幅:100ピクセル; 境界線の半径:5px; ボックスの影: 0 0 7px #89c8eb; ボックスのサイズ: 境界線ボックス; オーバーフロー: 非表示; } 。写真{ 幅:100%; 垂直位置合わせ: 中央; } </スタイル> </head> <本文> <div class="bigblock"> </div> <スクリプト> var Big = document.getElementsByClassName("bigblock")[0]; var ele = []; var 数値 = 6; var bghight=0; var 開始 = 0; var image_img=["1.jpg", "2.jpg", "3.jpg", "4.jpg", "5.jpg", "6.jpg", "7.jpg", "9.jpg", "10.jpg", "11.jpg", "12.jpg", "13.jpg", "14.jpg", "15.jpg", "16.jpg", "17.jpg"]; (var i=0;i<50;i++){ リスト(); } 関数リスト(n){ var small = document.createElement("div"); var image = document.createElement("img"); small.className="スモールブロック"; image.className="写真"; image.src="./img/"+image_img[parseInt(Math.random()* image_img.length)]; //0-12 ele.push(小さい); Big.appendChild(小さい); small.appendChild (画像); } 関数set_position(){ for(var i=start;i<ele.length;i++){ //各画像の位置を設定します var settop=i <num ? 0: ele[i-num].offsetHeight +10 + ele[i-num].offsetTop; ele[i].style.top=settop+"px"; var setleft = i %num * ele[i].offsetWidth + (i % num) * 10; ele[i].style.left=setleft+"px"; //背景の高さを取得します bghight =(ele[i].offsetHeight +ele[i].offsetTop)>bghight ? ele[i].offsetHeight +ele[i].offsetTop :bghight ; Big.style.height =bghight + "px"; } } window.onload = 関数(){ 位置を設定します。 //ブラウザのスクロールバーイベントを追加します。this.addEventListener ("scroll", function() { var b_height=document.body.clientHeight; if(parseInt (this.pageYOffset + this.innerHeight) > b_height - 10){ 開始 =ele.length; (i=0;i<30;i++){ リスト(); } 位置を設定します。 } // console.log(b_height); // 本体の表示可能な高さ、変数 // console.log(this.pageYOffset); // スクロールバーの上部オフセット // console.log(this.innerHeight); // ブラウザの表示領域の高さ}) } </スクリプト> </本文> </html> 画像は動的な画像ではないので効果は見られませんが、コードは正しいので試してみることができます。 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: MySQLでデータテーブルを作成するときにエンジンMyISAM/InnoDBを設定する
目次ネスティング親子コンポーネント通信ブラザーコンポーネント通信撤回するReact の Linked...
MySQL スロー クエリ ログは、問題のあるクエリを追跡するのに非常に役立ちます。現在のプログラム...
目次導入説明書実際の経験まとめ導入MySQL は最も人気のあるオープンソース データベースとして、さ...
目次序文1. ファイルのディスク使用量を確認する1.1 ディスク容量の使用状況を確認する1.2 ディ...
CSSスタイルとHTMLタグ要素を使用するさまざまな HTML タグに点線の境界線を追加するために、...
事故の背景: 数日前、プロジェクトの必要性により、サーバーに python-mysql モジュールを...
Win10 のインストール (すでにインストールされている場合はスキップしてください) win10...
IE10 では、<input> と <input type="passw...
現在、CentOS の最新バージョンは CentOS 8 です。次に、CentOS Linux 8....
この記事では、MySQL の単一テーブル クエリ操作について説明します。ご参考までに、詳細は以下の通...
目次前面に書かれた環境の展開Zookeeper クラスタの展開Clickhouse クラスターの展開...
目次背景ターゲット効果アイデア成し遂げるスワイパーは変更を聞きますカスタムドットモジュール変更イベン...
目次vue2.x vue3.x tiny-emitterプラグインの使用Mittプラグインの使用vu...
目次1. はじめに2. タブバーのスタイルをカスタマイズする3. カスタムタブバーと関連設定を導入す...
目次1. 効果2. メインコード1. 効果機能: インターフェイスから取得したデータを使用してオプシ...