回答編集履歴

10

最終追記

2020/09/26 05:11

投稿

kuma_kuma_
kuma_kuma_

スコア2506

test CHANGED
@@ -188,7 +188,7 @@
188
188
 
189
189
  <a href="pic01.png" class="item x3" data-fancybox-group="cotoh">
190
190
 
191
- <img class="lazyload" data-src="pic01.png">
191
+ <img class="lazyload" data-src="pic01.png" src="pic01.png">
192
192
 
193
193
  <span class="hover-mask">2020-8-19</span>
194
194
 
@@ -200,7 +200,7 @@
200
200
 
201
201
  <a href="pic02.png" class="item x3" data-fancybox-group="cotoh">
202
202
 
203
- <img class="lazyload" data-src="pic02.png">
203
+ <img class="lazyload" data-src="pic02.png" src="pic02.png">
204
204
 
205
205
  <span class="hover-mask">2020-8-19</span>
206
206
 
@@ -210,7 +210,7 @@
210
210
 
211
211
  <figure class="hover-parent">
212
212
 
213
- <a href="pic03.png" class="item x3" data-fancybox-group="cotoh"><img class="lazyload" data-src="pic03.png">
213
+ <a href="pic03.png" class="item x3" data-fancybox-group="cotoh"><img class="lazyload" data-src="pic03.png" src="pic03.png">
214
214
 
215
215
  <span class="hover-mask">2020-8-19</span></a>
216
216
 
@@ -446,7 +446,7 @@
446
446
 
447
447
 
448
448
 
449
- ここからは今後読まれた向けの話です。
449
+ ~~ここからは今後読まれた向けの話です。
450
450
 
451
451
  解決策は画像ファイルのタグによる先読みを実装するしかありませんが
452
452
 
@@ -454,7 +454,19 @@
454
454
 
455
455
  ただMacの場合jQueryでもイベントを拾い切れていないので
456
456
 
457
- 「先読み→サイズから読み込めたか判定」の流れが必要です。
457
+ 「先読み→サイズから読み込めたか判定」の流れが必要です。~~
458
+
459
+
460
+
461
+ いまさらですが
462
+
463
+ ```html
464
+
465
+ <img class="lazyload" data-src="pic01.png" src="pic01.png">
466
+
467
+ ```
468
+
469
+ masonryの機能に頼らずに初めからsrcで画像を読み込めば行けそうです。
458
470
 
459
471
 
460
472
 

9

最終

2020/09/26 05:11

投稿

kuma_kuma_
kuma_kuma_

スコア2506

test CHANGED
@@ -432,8 +432,102 @@
432
432
 
433
433
 
434
434
 
435
+ 追記2
436
+
437
+ Mac版で正常な動きができないとの事。
438
+
439
+ jQueryの"imagesLoaded"が正常に働かない為処理が動かず、
440
+
441
+ jQueryのバージョンを上げてもらうがやはり正常な動きができない模様
442
+
443
+ その為「遅延読み込み対策」の処理が正常に動かずビューが重なる現象が発生。
444
+
445
+ 一応タイマーで表示遅延を試みました。しかし質問者様の意向もありここで終了とします。
446
+
447
+
448
+
449
+ ここからは今後読まれた向けの話です。
450
+
451
+ 解決策は画像ファイルのタグによる先読みを実装するしかありませんが
452
+
453
+ その場合1からmasonryを作り直さないといけないので大変になります。
454
+
455
+ ただMacの場合jQueryでもイベントを拾い切れていないので
456
+
457
+ 「先読み→サイズから読み込めたか判定」の流れが必要です。
458
+
459
+
460
+
435
461
  ```javascript
436
462
 
463
+ // itemのサイズを調整する
464
+
465
+ function masonry_update(){
466
+
467
+ var ww = $(window).width();
468
+
469
+ var cw = 90;
470
+
471
+ //幅により columnWidth を変更
472
+
473
+ if (ww < 1025) { cw = 59; }
474
+
475
+ if (ww < 897) { cw = 53; }
476
+
477
+ if (ww < 835) { cw = 50; }
478
+
479
+ if (ww < 769) { cw = 36; }
480
+
481
+ if (ww < 737) { cw = 33; }
482
+
483
+ if (ww < 668) { cw = 31; }
484
+
485
+ if (ww < 415) { cw = 33; }
486
+
487
+ if (ww < 376) { cw = 30; }
488
+
489
+ $('#container').masonry({
490
+
491
+ itemSelector: '.item',
492
+
493
+ isFitWidth: true, 
494
+
495
+ columnWidth: cw
496
+
497
+ });
498
+
499
+ }
500
+
501
+ // itemのサイズを調整する
502
+
503
+ function image_show(){
504
+
505
+ // itemのサイズを調整する
506
+
507
+ masonry_update();
508
+
509
+
510
+
511
+ //この時点で画像サイズが判らないとレイアウトが崩れるため visibility: hidden; で処理を行う
512
+
513
+ $('[class*="item"]').each(function(){
514
+
515
+ //visibility: hidden; で表示していたのをdisplay: noneに変更し
516
+
517
+ //jQueryのフェードインで表示を行う。
518
+
519
+ $(this).css('visibility','visible');
520
+
521
+ $(this).css('display', 'none');
522
+
523
+ $(this).delay(500).fadeIn("slow");
524
+
525
+ });
526
+
527
+ }
528
+
529
+
530
+
437
531
  $(function(){
438
532
 
439
533
 
@@ -444,182 +538,60 @@
444
538
 
445
539
 
446
540
 
447
- // itemサイズ調整する
541
+ // HP表示緩やかにする
542
+
448
-
543
+ $('body').delay(500).fadeIn("slow" ,function(){
544
+
545
+ isBodyShow = true;
546
+
547
+ if(isBodyShow == true && isLoaded == true){
548
+
449
- function masonry_update(){
549
+ masonry_update();
450
-
550
+
451
- console.log('masonry_update:step1');
551
+ setTimeout("image_show();", 500);
452
-
552
+
453
- var ww = $(window).width();
553
+ }
454
-
554
+
455
- var cw = 90;
555
+ });
456
-
556
+
557
+
558
+
457
- //幅により columnWidth を変更
559
+ // 画像読み込み完了時
458
-
459
- if (ww < 1025) { cw = 59; }
560
+
460
-
461
- if (ww < 897) { cw = 53; }
462
-
463
- if (ww < 835) { cw = 50; }
464
-
465
- if (ww < 769) { cw = 36; }
466
-
467
- if (ww < 737) { cw = 33; }
468
-
469
- if (ww < 668) { cw = 31; }
470
-
471
- if (ww < 415) { cw = 33; }
472
-
473
- if (ww < 376) { cw = 30; }
474
-
475
- console.log('masonry_update:step2');
476
-
477
- $('#container').masonry({
561
+ $('#container').imagesLoaded(function (){
562
+
478
-
563
+ // 遅延読み込み対策
564
+
479
- itemSelector: '.item',
565
+ $('[class*="item"]').each(function(){
480
-
566
+
481
- isFitWidth: true, 
567
+ $('img',this).attr('src', $('img',this).attr('data-src'));
482
-
483
- columnWidth: cw
484
568
 
485
569
  });
486
570
 
571
+ isLoaded = true;
572
+
573
+ if(isBodyShow == true && isLoaded == true){
574
+
575
+ masonry_update();
576
+
487
- console.log('masonry_update:step3');
577
+ setTimeout("image_show();", 500);
488
-
578
+
489
- }
579
+ }
580
+
490
-
581
+ });
582
+
583
+
584
+
491
- // itemのサイズを調整する
585
+ //サイズ時の処理
492
-
493
- function image_show(){
586
+
494
-
495
- // itemのサイズを調整する
496
-
497
- console.log('image_show:step1');
587
+ $(window).resize(function timeout_masonry_update(){
498
588
 
499
589
  masonry_update();
500
590
 
501
- console.log('image_show:step2');
502
-
503
-
504
-
505
- //この時点で画像サイズが判らないとレイアウトが崩れるため visibility: hidden; で処理を行う
506
-
507
- $('[class*="item"]').each(function(){
508
-
509
- //visibility: hidden; で表示していたのをdisplay: noneに変更し
510
-
511
- //jQueryのフェードインで表示を行う。
512
-
513
- $(this).css('visibility','visible');
514
-
515
- $(this).css('display', 'none');
516
-
517
- $(this).delay(500).fadeIn("slow");
518
-
519
- });
520
-
521
- console.log('image_show:step3');
522
-
523
- }
524
-
525
-
526
-
527
- // HPの表示を緩やかにする。
528
-
529
- $('body').delay(500).fadeIn("slow" ,function(){
530
-
531
- console.log('body.slow:step1');
532
-
533
- isBodyShow = true;
534
-
535
- console.log('body.slow:step2');
536
-
537
- if(isBodyShow == true && isLoaded == true){
538
-
539
- console.log('body.slow:step3');
540
-
541
- // if(window.navigator.userAgent.toLowerCase().indexOf('edg/') != -1){
542
-
543
- // // edgの場合一度登録しておく
544
-
545
- // console.log('body.slow:step4');
546
-
547
- masonry_update();
548
-
549
- // }
550
-
551
- console.log('body.slow:step5');
552
-
553
- image_show();
554
-
555
- console.log('body.slow:step6');
556
-
557
- }
558
-
559
591
  });
560
592
 
561
593
 
562
594
 
563
- // 画像読み込み完了時
564
-
565
- $('#container').imagesLoaded(function (){
566
-
567
- // 遅延読み込み対策
568
-
569
- console.log('imagesLoaded:step1');
570
-
571
- $('[class*="item"]').each(function(){
572
-
573
- $('img',this).attr('src', $('img',this).attr('data-src'));
574
-
575
- });
576
-
577
- console.log('imagesLoaded:step2');
578
-
579
- isLoaded = true;
580
-
581
- console.log('imagesLoaded:step3');
582
-
583
- if(isBodyShow == true && isLoaded == true){
584
-
585
- console.log('imagesLoaded:step4');
586
-
587
- // if(window.navigator.userAgent.toLowerCase().indexOf('edg/') != -1){
588
-
589
- // console.log('imagesLoaded:step5');
590
-
591
- // // edgの場合一度登録しておく
592
-
593
- masonry_update();
594
-
595
- // }
596
-
597
- console.log('imagesLoaded:step6');
598
-
599
- image_show();
600
-
601
- console.log('imagesLoaded:step7');
602
-
603
- }
604
-
605
- });
606
-
607
-
608
-
609
- //リサイズ時の処理
610
-
611
- $(window).resize(function timeout_masonry_update(){
612
-
613
- console.log('resize:step1');
614
-
615
- masonry_update();
616
-
617
- console.log('resize:step2');
618
-
619
- });
620
-
621
-
622
-
623
595
 
624
596
 
625
597
  // ***** デバッグ用処理 開始 *****
@@ -634,6 +606,4 @@
634
606
 
635
607
  });
636
608
 
637
-
638
-
639
609
  ```

8

デバッグ修正

2020/09/26 04:24

投稿

kuma_kuma_
kuma_kuma_

スコア2506

test CHANGED
@@ -434,16 +434,16 @@
434
434
 
435
435
  ```javascript
436
436
 
437
-
438
-
439
- let isBodyShow = false;
440
-
441
- let isLoaded = false;
442
-
443
-
444
-
445
437
  $(function(){
446
438
 
439
+
440
+
441
+ var isBodyShow = false;
442
+
443
+ var isLoaded = false;
444
+
445
+
446
+
447
447
  // itemのサイズを調整する
448
448
 
449
449
  function masonry_update(){
@@ -534,9 +534,7 @@
534
534
 
535
535
  console.log('body.slow:step2');
536
536
 
537
- // if(isBodyShow == true && isLoaded == true){
537
+ if(isBodyShow == true && isLoaded == true){
538
-
539
- if(isBodyShow == true){
540
538
 
541
539
  console.log('body.slow:step3');
542
540
 
@@ -560,7 +558,7 @@
560
558
 
561
559
  });
562
560
 
563
- /*
561
+
564
562
 
565
563
  // 画像読み込み完了時
566
564
 
@@ -606,7 +604,7 @@
606
604
 
607
605
  });
608
606
 
609
- */
607
+
610
608
 
611
609
  //リサイズ時の処理
612
610
 
@@ -638,8 +636,4 @@
638
636
 
639
637
 
640
638
 
641
-
642
-
643
-
644
-
645
639
  ```

7

デバック修正

2020/09/26 03:07

投稿

kuma_kuma_
kuma_kuma_

スコア2506

test CHANGED
@@ -434,25 +434,23 @@
434
434
 
435
435
  ```javascript
436
436
 
437
+
438
+
439
+ let isBodyShow = false;
440
+
441
+ let isLoaded = false;
442
+
443
+
444
+
437
445
  $(function(){
438
446
 
439
-
440
-
441
- var isBodyShow = false;
442
-
443
- var isLoaded = false;
444
-
445
- var min_width = 100;
446
-
447
-
448
-
449
447
  // itemのサイズを調整する
450
448
 
451
449
  function masonry_update(){
452
450
 
453
451
  console.log('masonry_update:step1');
454
452
 
455
- ww = $(window).width();
453
+ var ww = $(window).width();
456
454
 
457
455
  var cw = 90;
458
456
 
@@ -536,92 +534,94 @@
536
534
 
537
535
  console.log('body.slow:step2');
538
536
 
537
+ // if(isBodyShow == true && isLoaded == true){
538
+
539
+ if(isBodyShow == true){
540
+
541
+ console.log('body.slow:step3');
542
+
543
+ // if(window.navigator.userAgent.toLowerCase().indexOf('edg/') != -1){
544
+
545
+ // // edgの場合一度登録しておく
546
+
547
+ // console.log('body.slow:step4');
548
+
549
+ masonry_update();
550
+
551
+ // }
552
+
553
+ console.log('body.slow:step5');
554
+
555
+ image_show();
556
+
557
+ console.log('body.slow:step6');
558
+
559
+ }
560
+
561
+ });
562
+
563
+ /*
564
+
565
+ // 画像読み込み完了時
566
+
567
+ $('#container').imagesLoaded(function (){
568
+
569
+ // 遅延読み込み対策
570
+
571
+ console.log('imagesLoaded:step1');
572
+
573
+ $('[class*="item"]').each(function(){
574
+
575
+ $('img',this).attr('src', $('img',this).attr('data-src'));
576
+
577
+ });
578
+
579
+ console.log('imagesLoaded:step2');
580
+
581
+ isLoaded = true;
582
+
583
+ console.log('imagesLoaded:step3');
584
+
539
585
  if(isBodyShow == true && isLoaded == true){
540
586
 
541
- console.log('body.slow:step3');
587
+ console.log('imagesLoaded:step4');
542
588
 
543
589
  // if(window.navigator.userAgent.toLowerCase().indexOf('edg/') != -1){
544
590
 
591
+ // console.log('imagesLoaded:step5');
592
+
545
593
  // // edgの場合一度登録しておく
546
594
 
547
- // console.log('body.slow:step4');
548
-
549
- // masonry_update();
595
+ masonry_update();
550
596
 
551
597
  // }
552
598
 
553
- console.log('body.slow:step5');
599
+ console.log('imagesLoaded:step6');
554
600
 
555
601
  image_show();
556
602
 
557
- console.log('body.slow:step6');
603
+ console.log('imagesLoaded:step7');
558
604
 
559
605
  }
560
606
 
607
+ });
608
+
609
+ */
610
+
611
+ //リサイズ時の処理
612
+
613
+ $(window).resize(function timeout_masonry_update(){
614
+
615
+ console.log('resize:step1');
616
+
617
+ masonry_update();
618
+
619
+ console.log('resize:step2');
620
+
561
621
  });
562
622
 
563
623
 
564
624
 
565
- // 画像読み込み完了時
566
-
567
- $('#container').imagesLoaded(function (){
568
-
569
- // 遅延読み込み対策
570
-
571
- console.log('imagesLoaded:step1');
572
-
573
- $('[class*="item"]').each(function(){
574
-
575
- $('img',this).attr('src', $('img',this).attr('data-src'));
576
-
577
- });
578
-
579
- console.log('imagesLoaded:step2');
580
-
581
- isLoaded = true;
582
-
583
- console.log('imagesLoaded:step3');
584
-
585
- if(isBodyShow == true && isLoaded == true){
586
-
587
- console.log('imagesLoaded:step4');
588
-
589
- // if(window.navigator.userAgent.toLowerCase().indexOf('edg/') != -1){
590
-
591
- // console.log('imagesLoaded:step5');
592
-
593
- // // edgの場合一度登録しておく
594
-
595
- // masonry_update();
596
-
597
- // }
598
-
599
- console.log('imagesLoaded:step6');
600
-
601
- image_show();
602
-
603
- console.log('imagesLoaded:step7');
604
-
605
- }
606
-
607
- });
608
-
609
-
610
-
611
- //リサイズ時の処理
612
-
613
- $(window).resize(function timeout_masonry_update(){
614
-
615
- console.log('resize:step1');
616
-
617
- masonry_update();
618
-
619
- console.log('resize:step2');
620
-
621
- });
622
-
623
-
624
-
625
625
 
626
626
 
627
627
  // ***** デバッグ用処理 開始 *****
@@ -640,4 +640,6 @@
640
640
 
641
641
 
642
642
 
643
+
644
+
643
645
  ```

6

デバック用変更

2020/09/26 02:13

投稿

kuma_kuma_
kuma_kuma_

スコア2506

test CHANGED
@@ -450,6 +450,8 @@
450
450
 
451
451
  function masonry_update(){
452
452
 
453
+ console.log('masonry_update:step1');
454
+
453
455
  ww = $(window).width();
454
456
 
455
457
  var cw = 90;
@@ -472,6 +474,8 @@
472
474
 
473
475
  if (ww < 376) { cw = 30; }
474
476
 
477
+ console.log('masonry_update:step2');
478
+
475
479
  $('#container').masonry({
476
480
 
477
481
  itemSelector: '.item',
@@ -482,6 +486,8 @@
482
486
 
483
487
  });
484
488
 
489
+ console.log('masonry_update:step3');
490
+
485
491
  }
486
492
 
487
493
  // itemのサイズを調整する
@@ -490,8 +496,12 @@
490
496
 
491
497
  // itemのサイズを調整する
492
498
 
499
+ console.log('image_show:step1');
500
+
493
501
  masonry_update();
494
502
 
503
+ console.log('image_show:step2');
504
+
495
505
 
496
506
 
497
507
  //この時点で画像サイズが判らないとレイアウトが崩れるため visibility: hidden; で処理を行う
@@ -510,30 +520,42 @@
510
520
 
511
521
  });
512
522
 
523
+ console.log('image_show:step3');
524
+
513
525
  }
514
526
 
515
527
 
516
528
 
517
-
518
-
519
529
  // HPの表示を緩やかにする。
520
530
 
521
531
  $('body').delay(500).fadeIn("slow" ,function(){
522
532
 
533
+ console.log('body.slow:step1');
534
+
523
535
  isBodyShow = true;
524
536
 
537
+ console.log('body.slow:step2');
538
+
525
539
  if(isBodyShow == true && isLoaded == true){
526
540
 
541
+ console.log('body.slow:step3');
542
+
527
- if(window.navigator.userAgent.toLowerCase().indexOf('edg/') != -1){
543
+ // if(window.navigator.userAgent.toLowerCase().indexOf('edg/') != -1){
528
-
544
+
529
- // edgの場合一度登録しておく
545
+ // // edgの場合一度登録しておく
546
+
530
-
547
+ // console.log('body.slow:step4');
548
+
531
- masonry_update();
549
+ // masonry_update();
532
-
550
+
533
- }
551
+ // }
552
+
553
+ console.log('body.slow:step5');
534
554
 
535
555
  image_show();
536
556
 
557
+ console.log('body.slow:step6');
558
+
537
559
  }
538
560
 
539
561
  });
@@ -546,26 +568,40 @@
546
568
 
547
569
  // 遅延読み込み対策
548
570
 
571
+ console.log('imagesLoaded:step1');
572
+
549
573
  $('[class*="item"]').each(function(){
550
574
 
551
575
  $('img',this).attr('src', $('img',this).attr('data-src'));
552
576
 
553
577
  });
554
578
 
579
+ console.log('imagesLoaded:step2');
580
+
555
581
  isLoaded = true;
556
582
 
583
+ console.log('imagesLoaded:step3');
584
+
557
585
  if(isBodyShow == true && isLoaded == true){
558
586
 
587
+ console.log('imagesLoaded:step4');
588
+
559
- if(window.navigator.userAgent.toLowerCase().indexOf('edg/') != -1){
589
+ // if(window.navigator.userAgent.toLowerCase().indexOf('edg/') != -1){
590
+
560
-
591
+ // console.log('imagesLoaded:step5');
592
+
561
- // edgの場合一度登録しておく
593
+ // // edgの場合一度登録しておく
562
-
594
+
563
- masonry_update();
595
+ // masonry_update();
564
-
596
+
565
- }
597
+ // }
598
+
599
+ console.log('imagesLoaded:step6');
566
600
 
567
601
  image_show();
568
602
 
603
+ console.log('imagesLoaded:step7');
604
+
569
605
  }
570
606
 
571
607
  });
@@ -576,8 +612,12 @@
576
612
 
577
613
  $(window).resize(function timeout_masonry_update(){
578
614
 
615
+ console.log('resize:step1');
616
+
579
617
  masonry_update();
580
618
 
619
+ console.log('resize:step2');
620
+
581
621
  });
582
622
 
583
623
 
@@ -598,4 +638,6 @@
598
638
 
599
639
 
600
640
 
641
+
642
+
601
643
  ```

5

再編集

2020/09/26 01:49

投稿

kuma_kuma_
kuma_kuma_

スコア2506

test CHANGED
@@ -598,128 +598,4 @@
598
598
 
599
599
 
600
600
 
601
-
602
-
603
- /* ここから下は元からあったソースなのですがJQueryの拡張機能を利用して画像表示を行おうとした様子 今回処理を判りやすくするために外してあります。
604
-
605
- もし使われる場合は「$(this).delay(500).fadeIn("slow");」の箇所で対応してください。
606
-
607
-  */
608
-
609
- // fancybox
610
-
611
- //消すと連続で移動できない
612
-
613
- /*
614
-
615
- function ($, F) {
616
-
617
- F.transitions.resizeIn = function () {
618
-
619
- var previous = F.previous,
620
-
621
- current = F.current,
622
-
623
- startPos = previous.wrap.stop(true).position(),
624
-
625
- endPos = $.extend({ opacity: 1 }, current.pos);
626
-
627
- startPos.width = previous.wrap.width();
628
-
629
- startPos.height = previous.wrap.height();
630
-
631
- previous.wrap.stop(true).trigger('onReset').remove();
632
-
633
- delete endPos.position;
634
-
635
- current.inner.hide();
636
-
637
- current.wrap.css(startPos).animate(endPos, {
638
-
639
- duration: current.nextSpeed,
640
-
641
- easing: current.nextEasing,
642
-
643
- step: F.transitions.step,
644
-
645
- complete: function () {
646
-
647
- F._afterZoomIn();
648
-
649
- current.inner.fadeIn("fast");
650
-
651
- }
652
-
653
- })
654
-
655
- }(jQuery, jQuery.fancybox));
656
-
657
- */
658
-
659
- /*
660
-
661
- // 消すと拡大後の移動できない
662
-
663
- $(".item.x3").fancybox({
664
-
665
- nextMethod: 'resizeIn',
666
-
667
- nextSpeed: 250,
668
-
669
- prevMethod: false
670
-
671
- });
672
-
673
- */
674
-
675
-
676
-
677
-
678
-
679
- /*
680
-
681
- $("img.lazyload").lazyload();
682
-
683
-
684
-
685
- $(window).on('load scroll', function() {
686
-
687
- var winScroll = $(window).scrollTop();
688
-
689
- var winHeight = $(window).height();
690
-
691
- var scrollPos = winScroll + (winHeight * 0.8);
692
-
693
-
694
-
695
- $(".item.x3").each(function() {
696
-
697
- if($(this).offset().top < scrollPos + 1000 ) {
698
-
699
- $(this).css({opacity: 1, transform: 'translate(0, 0)'});
700
-
701
- }
702
-
703
- });
704
-
705
- });
706
-
707
-
708
-
709
- $("img.item.x3").lazyload({
710
-
711
- effect: 'fadeIn',
712
-
713
- effectspeed: 1000,
714
-
715
- threshold: 10
716
-
717
- });
718
-
719
- });
720
-
721
- */
722
-
723
-
724
-
725
601
  ```

4

追記の追記

2020/09/26 00:39

投稿

kuma_kuma_
kuma_kuma_

スコア2506

test CHANGED
@@ -414,11 +414,21 @@
414
414
 
415
415
  (画像が多いと発生する)
416
416
 
417
- これでIE,Firefox,Chromeは対応できたのですがEdge(Chrome系)だけ
417
+ ~~これでIE,Firefox,Chromeは対応できたのですがEdge(Chrome系)だけ
418
418
 
419
419
  なぜか他ページから移動してきた時表示が崩れる現象が発生しています。
420
420
 
421
- (URL直打ち込みでは大丈夫)対策でき次第再アップします。 
421
+ (URL直打ち込みでは大丈夫)対策でき次第再アップします。 ~~
422
+
423
+ 対応しましたが、うちに旧Edgeがないのでそれだけ動作確認できていません。
424
+
425
+ あとFirefoxは一度表示してから別のページに移動「戻る」で再度ページを開くと
426
+
427
+ イベントが発生しないのでページのフェートインが動きません。
428
+
429
+ (回避ができない...)
430
+
431
+ あと全部windows版で確認しています。
422
432
 
423
433
 
424
434
 
@@ -432,8 +442,6 @@
432
442
 
433
443
  var isLoaded = false;
434
444
 
435
- var timer = false;
436
-
437
445
  var min_width = 100;
438
446
 
439
447
 
@@ -506,6 +514,8 @@
506
514
 
507
515
 
508
516
 
517
+
518
+
509
519
  // HPの表示を緩やかにする。
510
520
 
511
521
  $('body').delay(500).fadeIn("slow" ,function(){
@@ -514,6 +524,14 @@
514
524
 
515
525
  if(isBodyShow == true && isLoaded == true){
516
526
 
527
+ if(window.navigator.userAgent.toLowerCase().indexOf('edg/') != -1){
528
+
529
+ // edgの場合一度登録しておく
530
+
531
+ masonry_update();
532
+
533
+ }
534
+
517
535
  image_show();
518
536
 
519
537
  }
@@ -538,6 +556,14 @@
538
556
 
539
557
  if(isBodyShow == true && isLoaded == true){
540
558
 
559
+ if(window.navigator.userAgent.toLowerCase().indexOf('edg/') != -1){
560
+
561
+ // edgの場合一度登録しておく
562
+
563
+ masonry_update();
564
+
565
+ }
566
+
541
567
  image_show();
542
568
 
543
569
  }
@@ -572,6 +598,8 @@
572
598
 
573
599
 
574
600
 
601
+
602
+
575
603
  /* ここから下は元からあったソースなのですがJQueryの拡張機能を利用して画像表示を行おうとした様子 今回処理を判りやすくするために外してあります。
576
604
 
577
605
  もし使われる場合は「$(this).delay(500).fadeIn("slow");」の箇所で対応してください。

3

再編集

2020/09/25 20:09

投稿

kuma_kuma_
kuma_kuma_

スコア2506

test CHANGED
@@ -406,10 +406,34 @@
406
406
 
407
407
  ```
408
408
 
409
+ 追記
410
+
411
+ 前回回答から変更してあります。
412
+
413
+ ブラウザ自体の画像遅延読み込みの影響で画像サイズが取得できませんでした。
414
+
415
+ (画像が多いと発生する)
416
+
417
+ これでIE,Firefox,Chromeは対応できたのですがEdge(Chrome系)だけ
418
+
419
+ なぜか他ページから移動してきた時表示が崩れる現象が発生しています。
420
+
421
+ (URL直打ち込みでは大丈夫)対策でき次第再アップします。 
422
+
423
+
424
+
409
425
  ```javascript
410
426
 
411
427
  $(function(){
412
428
 
429
+
430
+
431
+ var isBodyShow = false;
432
+
433
+ var isLoaded = false;
434
+
435
+ var timer = false;
436
+
413
437
  var min_width = 100;
414
438
 
415
439
 
@@ -452,29 +476,201 @@
452
476
 
453
477
  }
454
478
 
479
+ // itemのサイズを調整する
480
+
481
+ function image_show(){
482
+
483
+ // itemのサイズを調整する
484
+
485
+ masonry_update();
486
+
487
+
488
+
489
+ //この時点で画像サイズが判らないとレイアウトが崩れるため visibility: hidden; で処理を行う
490
+
491
+ $('[class*="item"]').each(function(){
492
+
493
+ //visibility: hidden; で表示していたのをdisplay: noneに変更し
494
+
495
+ //jQueryのフェードインで表示を行う。
496
+
497
+ $(this).css('visibility','visible');
498
+
499
+ $(this).css('display', 'none');
500
+
501
+ $(this).delay(500).fadeIn("slow");
502
+
503
+ });
504
+
505
+ }
506
+
455
507
 
456
508
 
457
509
  // HPの表示を緩やかにする。
458
510
 
459
511
  $('body').delay(500).fadeIn("slow" ,function(){
460
512
 
513
+ isBodyShow = true;
514
+
515
+ if(isBodyShow == true && isLoaded == true){
516
+
517
+ image_show();
518
+
519
+ }
520
+
521
+ });
522
+
523
+
524
+
461
- // 画像の枠をレイアウト
525
+ // 画像読み込み完了時
526
+
462
-
527
+ $('#container').imagesLoaded(function (){
528
+
529
+ // 遅延読み込み対策
530
+
463
- //この時点で画像サイズが判らないとレイアウトが崩れるため visibility: hidden; で処理を行う
531
+ $('[class*="item"]').each(function(){
532
+
533
+ $('img',this).attr('src', $('img',this).attr('data-src'));
534
+
535
+ });
536
+
537
+ isLoaded = true;
538
+
539
+ if(isBodyShow == true && isLoaded == true){
540
+
541
+ image_show();
542
+
543
+ }
544
+
545
+ });
546
+
547
+
548
+
549
+ //リサイズ時の処理
550
+
551
+ $(window).resize(function timeout_masonry_update(){
464
552
 
465
553
  masonry_update();
466
554
 
555
+ });
556
+
557
+
558
+
559
+
560
+
561
+ // ***** デバッグ用処理 開始 *****
562
+
563
+ // 画像サイズ確認用に変更しています
564
+
467
- $('[class*="item"]').each(function(){
565
+ $('a[class*="item"]').attr('target','_blank');
468
-
469
- //visibility: hidden; で表示していたのをdisplay: noneに変更し
566
+
470
-
471
- //jQueryのフェードインで表示を行う。
567
+ // ***** デバッグ用処理 終了 *****
568
+
569
+
570
+
472
-
571
+ });
572
+
573
+
574
+
473
- $(this).css('visibility','visible');
575
+ /* ここから下は元からあったソースなのですがJQueryの拡張機能を利用して画像表示を行おうとした様子 今回処理を判りやすくするために外してあります。
474
-
475
- $(this).css('display', 'none');
576
+
476
-
477
- $(this).delay(500).fadeIn("slow");
577
+ もし使われる場合は「$(this).delay(500).fadeIn("slow");」の箇所で対応してください。
578
+
579
+  */
580
+
581
+ // fancybox
582
+
583
+ //消すと連続で移動できない
584
+
585
+ /*
586
+
587
+ function ($, F) {
588
+
589
+ F.transitions.resizeIn = function () {
590
+
591
+ var previous = F.previous,
592
+
593
+ current = F.current,
594
+
595
+ startPos = previous.wrap.stop(true).position(),
596
+
597
+ endPos = $.extend({ opacity: 1 }, current.pos);
598
+
599
+ startPos.width = previous.wrap.width();
600
+
601
+ startPos.height = previous.wrap.height();
602
+
603
+ previous.wrap.stop(true).trigger('onReset').remove();
604
+
605
+ delete endPos.position;
606
+
607
+ current.inner.hide();
608
+
609
+ current.wrap.css(startPos).animate(endPos, {
610
+
611
+ duration: current.nextSpeed,
612
+
613
+ easing: current.nextEasing,
614
+
615
+ step: F.transitions.step,
616
+
617
+ complete: function () {
618
+
619
+ F._afterZoomIn();
620
+
621
+ current.inner.fadeIn("fast");
622
+
623
+ }
624
+
625
+ })
626
+
627
+ }(jQuery, jQuery.fancybox));
628
+
629
+ */
630
+
631
+ /*
632
+
633
+ // 消すと拡大後の移動できない
634
+
635
+ $(".item.x3").fancybox({
636
+
637
+ nextMethod: 'resizeIn',
638
+
639
+ nextSpeed: 250,
640
+
641
+ prevMethod: false
642
+
643
+ });
644
+
645
+ */
646
+
647
+
648
+
649
+
650
+
651
+ /*
652
+
653
+ $("img.lazyload").lazyload();
654
+
655
+
656
+
657
+ $(window).on('load scroll', function() {
658
+
659
+ var winScroll = $(window).scrollTop();
660
+
661
+ var winHeight = $(window).height();
662
+
663
+ var scrollPos = winScroll + (winHeight * 0.8);
664
+
665
+
666
+
667
+ $(".item.x3").each(function() {
668
+
669
+ if($(this).offset().top < scrollPos + 1000 ) {
670
+
671
+ $(this).css({opacity: 1, transform: 'translate(0, 0)'});
672
+
673
+ }
478
674
 
479
675
  });
480
676
 
@@ -482,164 +678,20 @@
482
678
 
483
679
 
484
680
 
485
- //リサイズ時の処理
486
-
487
- var timer = false;
488
-
489
- $(window).resize(function timeout_masonry_update(){
681
+ $("img.item.x3").lazyload({
682
+
490
-
683
+ effect: 'fadeIn',
684
+
491
- if (timer !== false) {
685
+ effectspeed: 1000,
492
-
493
- clearTimeout(timer);
686
+
494
-
495
- }
496
-
497
- timer = setTimeout(function () {
498
-
499
- masonry_update();
687
+ threshold: 10
500
-
501
- }, 200);
502
688
 
503
689
  });
504
690
 
505
-
506
-
507
-
508
-
509
- // ***** デバッグ用処理 開始 *****
510
-
511
- // 画像サイズ確認用に変更しています消してください
512
-
513
- $('a[class*="item"]').attr('target','_blank');
514
-
515
- // ***** デバッグ用処理 終了 *****
516
-
517
-
518
-
519
691
  });
520
692
 
521
-
522
-
523
- /* ここから下は元からあったソースなのですがJQueryの拡張機能を利用して画像表示を行おうとした様子 今回処理を判りやすくするために外してあります。
524
-
525
- もし使われる場合は「$(this).delay(500).fadeIn("slow");」の箇所で対応してください。
526
-
527
-  */
528
-
529
- // fancybox
530
-
531
- //消すと連続で移動できない
532
-
533
- /*
534
-
535
- function ($, F) {
536
-
537
- F.transitions.resizeIn = function () {
538
-
539
- var previous = F.previous,
540
-
541
- current = F.current,
542
-
543
- startPos = previous.wrap.stop(true).position(),
544
-
545
- endPos = $.extend({ opacity: 1 }, current.pos);
546
-
547
- startPos.width = previous.wrap.width();
548
-
549
- startPos.height = previous.wrap.height();
550
-
551
- previous.wrap.stop(true).trigger('onReset').remove();
552
-
553
- delete endPos.position;
554
-
555
- current.inner.hide();
556
-
557
- current.wrap.css(startPos).animate(endPos, {
558
-
559
- duration: current.nextSpeed,
560
-
561
- easing: current.nextEasing,
562
-
563
- step: F.transitions.step,
564
-
565
- complete: function () {
566
-
567
- F._afterZoomIn();
568
-
569
- current.inner.fadeIn("fast");
570
-
571
- }
572
-
573
- })
574
-
575
- }(jQuery, jQuery.fancybox));
576
-
577
693
  */
578
694
 
579
- /*
580
-
581
- // 消すと拡大後の移動できない
582
-
583
- $(".item.x3").fancybox({
584
-
585
- nextMethod: 'resizeIn',
586
-
587
- nextSpeed: 250,
588
-
589
- prevMethod: false
590
-
591
- });
592
-
593
- */
594
-
595
-
596
-
597
-
598
-
599
- /*
600
-
601
- $("img.lazyload").lazyload();
602
-
603
-
604
-
605
- $(window).on('load scroll', function() {
606
-
607
- var winScroll = $(window).scrollTop();
608
-
609
- var winHeight = $(window).height();
610
-
611
- var scrollPos = winScroll + (winHeight * 0.8);
612
-
613
-
614
-
615
- $(".item.x3").each(function() {
616
-
617
- if($(this).offset().top < scrollPos + 1000 ) {
618
-
619
- $(this).css({opacity: 1, transform: 'translate(0, 0)'});
620
-
621
- }
622
-
623
- });
624
-
625
- });
626
-
627
-
628
-
629
- $("img.item.x3").lazyload({
630
-
631
- effect: 'fadeIn',
632
-
633
- effectspeed: 1000,
634
-
635
- threshold: 10
636
-
637
- });
638
-
639
- });
640
-
641
- */
642
-
643
695
 
644
696
 
645
697
  ```

2

変更

2020/09/25 19:10

投稿

kuma_kuma_
kuma_kuma_

スコア2506

test CHANGED
@@ -46,7 +46,7 @@
46
46
 
47
47
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
48
48
 
49
- <title>古塔つみ</title>
49
+ <title>test</title>
50
50
 
51
51
  <!-- googleフォント -->
52
52
 
@@ -148,7 +148,7 @@
148
148
 
149
149
  <i class="fa fa-envelope fa-1x">
150
150
 
151
- <span class="e-mail"><a href="mailto:cotohtsumi@gmail.com" class="mail_btn" title="Send me an email">e-mail</a>
151
+ <span class="e-mail"><a href="mailto:xxxxxxx@xxxxx.com" class="mail_btn" title="Send me an email">e-mail</a>
152
152
 
153
153
  </span>
154
154
 

1

文修正

2020/09/24 22:58

投稿

kuma_kuma_
kuma_kuma_

スコア2506

test CHANGED
@@ -1,12 +1,12 @@
1
1
  > masonryのバージョンはv4.2.2になります。
2
2
 
3
- fancybox-1.3.4
3
+
4
4
 
5
5
  masonryのv4.2.2が見つからなくってバージョンv3.0.4で作っています。
6
6
 
7
7
  fancyboxはあえてv1.3.4です。(それ以上は商業利用できない為)
8
8
 
9
- ソースを拝見したのですが、やりたい事とソースの内容が違うた
9
+ ソースを拝見したのですが、やりたい事とソースの内容が違うように見受けられ
10
10
 
11
11
 
12
12