この記事では、画像ウォーターフォールフローを実現するための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を設定する
私は最近、会社で統計レポートの開発に関わるプロジェクトに取り組んでいました。データの量が比較的多かっ...
この記事の例では、タブ効果を記述するためのJSの具体的なコードを参考までに共有しています。具体的な内...
知識への依存Go クロスコンパイルの基礎Dockerの基礎Dockerfileカスタムイメージの基本...
Centos7 上で openresty 用の Dockerfile を作成し、ビルドしました。 d...
場合によっては、ユーザーがボタンをクリックして同様のフォームを追加し、クリックごとに 1 回追加でき...
目次1. スワップパーティション SWAP 1.1 スワップファイルを作成する1.2 スワップパーテ...
私は今日、mybatis を学び、データベースに対していくつかの簡単な追加、削除、変更、クエリを実行...
1. ファイル名検索を実行するwhich ('実行可能ファイル' を検索) //PA...
【はじめに】: Handtrack.jsは、ブラウザ上で直接リアルタイムの手の動きの追跡と検出を実...
関数のカリー化(黒い疑問符の顔)? ? ?カレー(黒い疑問符の顔)? ? ?これは完璧な中国語翻訳で...
voidキーワードの紹介まず、void キーワードは JavaScript で非常に重要なキーワード...
MySQL のフィルタリングのタイミングは、集計関数で使用される where 条件と having ...
序文これは fastdfs を使用してイントラネット外部に展開された分散ファイルシステムであるためで...
2つの小さな問題ですが、長い間私を悩ませていました。最初の質問テキストエリアの左側のテキストは常にテ...
この記事の例では、グラフィック検証コードを実装するためのVueの具体的なコードを参考までに共有してい...