この記事では、画像ウォーターフォールフローを実現するための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を設定する
1. scale() メソッドズームとは「縮小」と「拡大」を意味します。 CSS3 では、scal...
Centos7.6 に Tomcat-8.5.39 をインストールする方法は次のとおりです。詳細は次...
1. 日付のサイズを比較するには、XML に渡される日付形式は 'yyyy-MM-dd...
目次1. リストインターフェースとその他のモジュールの表示処理2. 従来のインターフェースコンポーネ...
目次1. レシピ集1.1 プロジェクトの背景1.2 テクノロジースタック1.3 開発環境1.4. プ...
MySQL は、スウェーデンの会社 MySQL AB によって開発されたリレーショナル データベース...
1. 単一の矢印への複数の呼び出し単一の矢印を実装したら、二重矢印を実装するのは簡単です。上では、単...
操作効果コードの実装html <div id="ウォッチ"> <...
開発から導入まで自分で行うシングルページアプリケーションを開発する場合、ビルドを実行した後 npm ...
1 MySQL5.6 1.1 関連パラメータMySQL 5.6 では、innodb_undo_dir...
結果:実装コード: <!DOCTYPE html><html class=&quo...
この記事では、Docker で構築された Laravel および Vue プロジェクトの開発環境を紹...
varchar の保存ルール4.0 未満のバージョンでは、varchar(20) は 20 バイトを...
JavaScript の if ステートメントで英語のカンマ「,」が表示されることがあります。これは...
この記事では、テキストクロックを実装するためのキャンバスの具体的なコードを例として紹介します。具体的...