.obj{ font-size: 60px; opacity: 0; background-color: rgba(231, 222, 222, 1); margin: 10px; padding: 10px; } .ts { opacity: 1; transform: translateY(-20px); transition: transform 0.8s ease-out 0s, opacity 0.8s ease-out 0s; }
$(window).on("load", function(){ function display(){ var counter = 0; // スクロールより、露出した要素のみのカウンター $(".obj").each( function(){ var obj_bottom = $(this).offset().top + $(this)[0].offsetHeight ; var scroll_bottom = $(window).scrollTop() + $(window).height(); // 下の要素+上の要素がブラウザに露出した際に if( obj_bottom < scroll_bottom && $(this).offset().top > $(window).scrollTop() ) { // 露出した要素のみ if( !$(this).hasClass("ts") ){ // アニメ効果cssクラスの追加+遅延時間を各要素に追加 $(this).addClass("ts"); $(this).css( "transition-delay", counter*150+"ms"); counter ++ ; } } else { // 上の要素+下の要素が不可視になったら、アニメ効果css+遅延cssの除去 $(this).removeClass( "ts" ) ; $(this).removeAttr('style'); } }); } // スクロールされた時に、要素露出のチェック $(window).on("scroll", function(){ display(); }) ; // Windowロード時に一度要素のチェック display(); });
全体的には、比較的に簡単なものとなります
.obj{ font-size: 60px; opacity: 0; background-color: rgba(231, 222, 222, 1); margin: 10px; padding: 10px; } .ts { opacity: 1; transform: translateY(-20px); transition: transform 0.8s ease-out 0s, opacity 0.8s ease-out 0s; }
$(window).on("load", function(){ function display(){ var counter = 0; // スクロールより、露出した要素のみのカウンター $(".obj").each( function(){ var obj_bottom = $(this).offset().top + $(this)[0].offsetHeight ; var scroll_bottom = $(window).scrollTop() + $(window).height(); // 下の要素+上の要素がブラウザに露出した際に if( obj_bottom < scroll_bottom && $(this).offset().top > $(window).scrollTop() ) { // 露出した要素のみ if( !$(this).hasClass("ts") ){ // アニメ効果cssクラスの追加+遅延時間を各要素に追加 $(this).addClass("ts"); $(this).css( "transition-delay", counter*150+"ms"); counter ++ ; } } else { // 上の要素+下の要素が不可視になったら、アニメ効果css+遅延cssの除去 $(this).removeClass( "ts" ) ; $(this).removeAttr('style'); } }); } // スクロールされた時に、要素露出のチェック $(window).on("scroll", function(){ display(); }) ; // Windowロード時に一度要素のチェック display(); });
全体的には、比較的に簡単なものとなります
.obj{ font-size: 60px; opacity: 0; background-color: rgba(231, 222, 222, 1); margin: 10px; padding: 10px; } .ts { opacity: 1; transform: translateY(-20px); transition: transform 0.8s ease-out 0s, opacity 0.8s ease-out 0s; }
$(window).on("load", function(){ function display(){ var counter = 0; // スクロールより、露出した要素のみのカウンター $(".obj").each( function(){ var obj_bottom = $(this).offset().top + $(this)[0].offsetHeight ; var scroll_bottom = $(window).scrollTop() + $(window).height(); // 下の要素+上の要素がブラウザに露出した際に if( obj_bottom < scroll_bottom && $(this).offset().top > $(window).scrollTop() ) { // 露出した要素のみ if( !$(this).hasClass("ts") ){ // アニメ効果cssクラスの追加+遅延時間を各要素に追加 $(this).addClass("ts"); $(this).css( "transition-delay", counter*150+"ms"); counter ++ ; } } else { // 上の要素+下の要素が不可視になったら、アニメ効果css+遅延cssの除去 $(this).removeClass( "ts" ) ; $(this).removeAttr('style'); } }); } // スクロールされた時に、要素露出のチェック $(window).on("scroll", function(){ display(); }) ; // Windowロード時に一度要素のチェック display(); });
全体的には、比較的に簡単なものとなります
.obj{ font-size: 60px; opacity: 0; background-color: rgba(231, 222, 222, 1); margin: 10px; padding: 10px; } .ts { opacity: 1; transform: translateY(-20px); transition: transform 0.8s ease-out 0s, opacity 0.8s ease-out 0s; }
$(window).on("load", function(){ function display(){ var counter = 0; // スクロールより、露出した要素のみのカウンター $(".obj").each( function(){ var obj_bottom = $(this).offset().top + $(this)[0].offsetHeight ; var scroll_bottom = $(window).scrollTop() + $(window).height(); // 下の要素+上の要素がブラウザに露出した際に if( obj_bottom < scroll_bottom && $(this).offset().top > $(window).scrollTop() ) { // 露出した要素のみ if( !$(this).hasClass("ts") ){ // アニメ効果cssクラスの追加+遅延時間を各要素に追加 $(this).addClass("ts"); $(this).css( "transition-delay", counter*150+"ms"); counter ++ ; } } else { // 上の要素+下の要素が不可視になったら、アニメ効果css+遅延cssの除去 $(this).removeClass( "ts" ) ; $(this).removeAttr('style'); } }); } // スクロールされた時に、要素露出のチェック $(window).on("scroll", function(){ display(); }) ; // Windowロード時に一度要素のチェック display(); });
全体的には、比較的に簡単なものとなります
.obj{ font-size: 60px; opacity: 0; background-color: rgba(231, 222, 222, 1); margin: 10px; padding: 10px; } .ts { opacity: 1; transform: translateY(-20px); transition: transform 0.8s ease-out 0s, opacity 0.8s ease-out 0s; }
$(window).on("load", function(){ function display(){ var counter = 0; // スクロールより、露出した要素のみのカウンター $(".obj").each( function(){ var obj_bottom = $(this).offset().top + $(this)[0].offsetHeight ; var scroll_bottom = $(window).scrollTop() + $(window).height(); // 下の要素+上の要素がブラウザに露出した際に if( obj_bottom < scroll_bottom && $(this).offset().top > $(window).scrollTop() ) { // 露出した要素のみ if( !$(this).hasClass("ts") ){ // アニメ効果cssクラスの追加+遅延時間を各要素に追加 $(this).addClass("ts"); $(this).css( "transition-delay", counter*150+"ms"); counter ++ ; } } else { // 上の要素+下の要素が不可視になったら、アニメ効果css+遅延cssの除去 $(this).removeClass( "ts" ) ; $(this).removeAttr('style'); } }); } // スクロールされた時に、要素露出のチェック $(window).on("scroll", function(){ display(); }) ; // Windowロード時に一度要素のチェック display(); });
全体的には、比較的に簡単なものとなります
.obj{ font-size: 60px; opacity: 0; background-color: rgba(231, 222, 222, 1); margin: 10px; padding: 10px; } .ts { opacity: 1; transform: translateY(-20px); transition: transform 0.8s ease-out 0s, opacity 0.8s ease-out 0s; }
$(window).on("load", function(){ function display(){ var counter = 0; // スクロールより、露出した要素のみのカウンター $(".obj").each( function(){ var obj_bottom = $(this).offset().top + $(this)[0].offsetHeight ; var scroll_bottom = $(window).scrollTop() + $(window).height(); // 下の要素+上の要素がブラウザに露出した際に if( obj_bottom < scroll_bottom && $(this).offset().top > $(window).scrollTop() ) { // 露出した要素のみ if( !$(this).hasClass("ts") ){ // アニメ効果cssクラスの追加+遅延時間を各要素に追加 $(this).addClass("ts"); $(this).css( "transition-delay", counter*150+"ms"); counter ++ ; } } else { // 上の要素+下の要素が不可視になったら、アニメ効果css+遅延cssの除去 $(this).removeClass( "ts" ) ; $(this).removeAttr('style'); } }); } // スクロールされた時に、要素露出のチェック $(window).on("scroll", function(){ display(); }) ; // Windowロード時に一度要素のチェック display(); });
全体的には、比較的に簡単なものとなります
.obj{ font-size: 60px; opacity: 0; background-color: rgba(231, 222, 222, 1); margin: 10px; padding: 10px; } .ts { opacity: 1; transform: translateY(-20px); transition: transform 0.8s ease-out 0s, opacity 0.8s ease-out 0s; }
$(window).on("load", function(){ function display(){ var counter = 0; // スクロールより、露出した要素のみのカウンター $(".obj").each( function(){ var obj_bottom = $(this).offset().top + $(this)[0].offsetHeight ; var scroll_bottom = $(window).scrollTop() + $(window).height(); // 下の要素+上の要素がブラウザに露出した際に if( obj_bottom < scroll_bottom && $(this).offset().top > $(window).scrollTop() ) { // 露出した要素のみ if( !$(this).hasClass("ts") ){ // アニメ効果cssクラスの追加+遅延時間を各要素に追加 $(this).addClass("ts"); $(this).css( "transition-delay", counter*150+"ms"); counter ++ ; } } else { // 上の要素+下の要素が不可視になったら、アニメ効果css+遅延cssの除去 $(this).removeClass( "ts" ) ; $(this).removeAttr('style'); } }); } // スクロールされた時に、要素露出のチェック $(window).on("scroll", function(){ display(); }) ; // Windowロード時に一度要素のチェック display(); });
全体的には、比較的に簡単なものとなります
.obj{ font-size: 60px; opacity: 0; background-color: rgba(231, 222, 222, 1); margin: 10px; padding: 10px; } .ts { opacity: 1; transform: translateY(-20px); transition: transform 0.8s ease-out 0s, opacity 0.8s ease-out 0s; }
$(window).on("load", function(){ function display(){ var counter = 0; // スクロールより、露出した要素のみのカウンター $(".obj").each( function(){ var obj_bottom = $(this).offset().top + $(this)[0].offsetHeight ; var scroll_bottom = $(window).scrollTop() + $(window).height(); // 下の要素+上の要素がブラウザに露出した際に if( obj_bottom < scroll_bottom && $(this).offset().top > $(window).scrollTop() ) { // 露出した要素のみ if( !$(this).hasClass("ts") ){ // アニメ効果cssクラスの追加+遅延時間を各要素に追加 $(this).addClass("ts"); $(this).css( "transition-delay", counter*150+"ms"); counter ++ ; } } else { // 上の要素+下の要素が不可視になったら、アニメ効果css+遅延cssの除去 $(this).removeClass( "ts" ) ; $(this).removeAttr('style'); } }); } // スクロールされた時に、要素露出のチェック $(window).on("scroll", function(){ display(); }) ; // Windowロード時に一度要素のチェック display(); });
全体的には、比較的に簡単なものとなります
.obj{ font-size: 60px; opacity: 0; background-color: rgba(231, 222, 222, 1); margin: 10px; padding: 10px; } .ts { opacity: 1; transform: translateY(-20px); transition: transform 0.8s ease-out 0s, opacity 0.8s ease-out 0s; }
$(window).on("load", function(){ function display(){ var counter = 0; // スクロールより、露出した要素のみのカウンター $(".obj").each( function(){ var obj_bottom = $(this).offset().top + $(this)[0].offsetHeight ; var scroll_bottom = $(window).scrollTop() + $(window).height(); // 下の要素+上の要素がブラウザに露出した際に if( obj_bottom < scroll_bottom && $(this).offset().top > $(window).scrollTop() ) { // 露出した要素のみ if( !$(this).hasClass("ts") ){ // アニメ効果cssクラスの追加+遅延時間を各要素に追加 $(this).addClass("ts"); $(this).css( "transition-delay", counter*150+"ms"); counter ++ ; } } else { // 上の要素+下の要素が不可視になったら、アニメ効果css+遅延cssの除去 $(this).removeClass( "ts" ) ; $(this).removeAttr('style'); } }); } // スクロールされた時に、要素露出のチェック $(window).on("scroll", function(){ display(); }) ; // Windowロード時に一度要素のチェック display(); });
全体的には、比較的に簡単なものとなります
.obj{ font-size: 60px; opacity: 0; background-color: rgba(231, 222, 222, 1); margin: 10px; padding: 10px; } .ts { opacity: 1; transform: translateY(-20px); transition: transform 0.8s ease-out 0s, opacity 0.8s ease-out 0s; }
$(window).on("load", function(){ function display(){ var counter = 0; // スクロールより、露出した要素のみのカウンター $(".obj").each( function(){ var obj_bottom = $(this).offset().top + $(this)[0].offsetHeight ; var scroll_bottom = $(window).scrollTop() + $(window).height(); // 下の要素+上の要素がブラウザに露出した際に if( obj_bottom < scroll_bottom && $(this).offset().top > $(window).scrollTop() ) { // 露出した要素のみ if( !$(this).hasClass("ts") ){ // アニメ効果cssクラスの追加+遅延時間を各要素に追加 $(this).addClass("ts"); $(this).css( "transition-delay", counter*150+"ms"); counter ++ ; } } else { // 上の要素+下の要素が不可視になったら、アニメ効果css+遅延cssの除去 $(this).removeClass( "ts" ) ; $(this).removeAttr('style'); } }); } // スクロールされた時に、要素露出のチェック $(window).on("scroll", function(){ display(); }) ; // Windowロード時に一度要素のチェック display(); });
全体的には、比較的に簡単なものとなります
.obj{ font-size: 60px; opacity: 0; background-color: rgba(231, 222, 222, 1); margin: 10px; padding: 10px; } .ts { opacity: 1; transform: translateY(-20px); transition: transform 0.8s ease-out 0s, opacity 0.8s ease-out 0s; }
$(window).on("load", function(){ function display(){ var counter = 0; // スクロールより、露出した要素のみのカウンター $(".obj").each( function(){ var obj_bottom = $(this).offset().top + $(this)[0].offsetHeight ; var scroll_bottom = $(window).scrollTop() + $(window).height(); // 下の要素+上の要素がブラウザに露出した際に if( obj_bottom < scroll_bottom && $(this).offset().top > $(window).scrollTop() ) { // 露出した要素のみ if( !$(this).hasClass("ts") ){ // アニメ効果cssクラスの追加+遅延時間を各要素に追加 $(this).addClass("ts"); $(this).css( "transition-delay", counter*150+"ms"); counter ++ ; } } else { // 上の要素+下の要素が不可視になったら、アニメ効果css+遅延cssの除去 $(this).removeClass( "ts" ) ; $(this).removeAttr('style'); } }); } // スクロールされた時に、要素露出のチェック $(window).on("scroll", function(){ display(); }) ; // Windowロード時に一度要素のチェック display(); });
全体的には、比較的に簡単なものとなります
.obj{ font-size: 60px; opacity: 0; background-color: rgba(231, 222, 222, 1); margin: 10px; padding: 10px; } .ts { opacity: 1; transform: translateY(-20px); transition: transform 0.8s ease-out 0s, opacity 0.8s ease-out 0s; }
$(window).on("load", function(){ function display(){ var counter = 0; // スクロールより、露出した要素のみのカウンター $(".obj").each( function(){ var obj_bottom = $(this).offset().top + $(this)[0].offsetHeight ; var scroll_bottom = $(window).scrollTop() + $(window).height(); // 下の要素+上の要素がブラウザに露出した際に if( obj_bottom < scroll_bottom && $(this).offset().top > $(window).scrollTop() ) { // 露出した要素のみ if( !$(this).hasClass("ts") ){ // アニメ効果cssクラスの追加+遅延時間を各要素に追加 $(this).addClass("ts"); $(this).css( "transition-delay", counter*150+"ms"); counter ++ ; } } else { // 上の要素+下の要素が不可視になったら、アニメ効果css+遅延cssの除去 $(this).removeClass( "ts" ) ; $(this).removeAttr('style'); } }); } // スクロールされた時に、要素露出のチェック $(window).on("scroll", function(){ display(); }) ; // Windowロード時に一度要素のチェック display(); });
全体的には、比較的に簡単なものとなります
.obj{ font-size: 60px; opacity: 0; background-color: rgba(231, 222, 222, 1); margin: 10px; padding: 10px; } .ts { opacity: 1; transform: translateY(-20px); transition: transform 0.8s ease-out 0s, opacity 0.8s ease-out 0s; }
$(window).on("load", function(){ function display(){ var counter = 0; // スクロールより、露出した要素のみのカウンター $(".obj").each( function(){ var obj_bottom = $(this).offset().top + $(this)[0].offsetHeight ; var scroll_bottom = $(window).scrollTop() + $(window).height(); // 下の要素+上の要素がブラウザに露出した際に if( obj_bottom < scroll_bottom && $(this).offset().top > $(window).scrollTop() ) { // 露出した要素のみ if( !$(this).hasClass("ts") ){ // アニメ効果cssクラスの追加+遅延時間を各要素に追加 $(this).addClass("ts"); $(this).css( "transition-delay", counter*150+"ms"); counter ++ ; } } else { // 上の要素+下の要素が不可視になったら、アニメ効果css+遅延cssの除去 $(this).removeClass( "ts" ) ; $(this).removeAttr('style'); } }); } // スクロールされた時に、要素露出のチェック $(window).on("scroll", function(){ display(); }) ; // Windowロード時に一度要素のチェック display(); });
全体的には、比較的に簡単なものとなります
.obj{ font-size: 60px; opacity: 0; background-color: rgba(231, 222, 222, 1); margin: 10px; padding: 10px; } .ts { opacity: 1; transform: translateY(-20px); transition: transform 0.8s ease-out 0s, opacity 0.8s ease-out 0s; }
$(window).on("load", function(){ function display(){ var counter = 0; // スクロールより、露出した要素のみのカウンター $(".obj").each( function(){ var obj_bottom = $(this).offset().top + $(this)[0].offsetHeight ; var scroll_bottom = $(window).scrollTop() + $(window).height(); // 下の要素+上の要素がブラウザに露出した際に if( obj_bottom < scroll_bottom && $(this).offset().top > $(window).scrollTop() ) { // 露出した要素のみ if( !$(this).hasClass("ts") ){ // アニメ効果cssクラスの追加+遅延時間を各要素に追加 $(this).addClass("ts"); $(this).css( "transition-delay", counter*150+"ms"); counter ++ ; } } else { // 上の要素+下の要素が不可視になったら、アニメ効果css+遅延cssの除去 $(this).removeClass( "ts" ) ; $(this).removeAttr('style'); } }); } // スクロールされた時に、要素露出のチェック $(window).on("scroll", function(){ display(); }) ; // Windowロード時に一度要素のチェック display(); });
全体的には、比較的に簡単なものとなります
.obj{ font-size: 60px; opacity: 0; background-color: rgba(231, 222, 222, 1); margin: 10px; padding: 10px; } .ts { opacity: 1; transform: translateY(-20px); transition: transform 0.8s ease-out 0s, opacity 0.8s ease-out 0s; }
$(window).on("load", function(){ function display(){ var counter = 0; // スクロールより、露出した要素のみのカウンター $(".obj").each( function(){ var obj_bottom = $(this).offset().top + $(this)[0].offsetHeight ; var scroll_bottom = $(window).scrollTop() + $(window).height(); // 下の要素+上の要素がブラウザに露出した際に if( obj_bottom < scroll_bottom && $(this).offset().top > $(window).scrollTop() ) { // 露出した要素のみ if( !$(this).hasClass("ts") ){ // アニメ効果cssクラスの追加+遅延時間を各要素に追加 $(this).addClass("ts"); $(this).css( "transition-delay", counter*150+"ms"); counter ++ ; } } else { // 上の要素+下の要素が不可視になったら、アニメ効果css+遅延cssの除去 $(this).removeClass( "ts" ) ; $(this).removeAttr('style'); } }); } // スクロールされた時に、要素露出のチェック $(window).on("scroll", function(){ display(); }) ; // Windowロード時に一度要素のチェック display(); });
全体的には、比較的に簡単なものとなります
.obj{ font-size: 60px; opacity: 0; background-color: rgba(231, 222, 222, 1); margin: 10px; padding: 10px; } .ts { opacity: 1; transform: translateY(-20px); transition: transform 0.8s ease-out 0s, opacity 0.8s ease-out 0s; }
$(window).on("load", function(){ function display(){ var counter = 0; // スクロールより、露出した要素のみのカウンター $(".obj").each( function(){ var obj_bottom = $(this).offset().top + $(this)[0].offsetHeight ; var scroll_bottom = $(window).scrollTop() + $(window).height(); // 下の要素+上の要素がブラウザに露出した際に if( obj_bottom < scroll_bottom && $(this).offset().top > $(window).scrollTop() ) { // 露出した要素のみ if( !$(this).hasClass("ts") ){ // アニメ効果cssクラスの追加+遅延時間を各要素に追加 $(this).addClass("ts"); $(this).css( "transition-delay", counter*150+"ms"); counter ++ ; } } else { // 上の要素+下の要素が不可視になったら、アニメ効果css+遅延cssの除去 $(this).removeClass( "ts" ) ; $(this).removeAttr('style'); } }); } // スクロールされた時に、要素露出のチェック $(window).on("scroll", function(){ display(); }) ; // Windowロード時に一度要素のチェック display(); });
全体的には、比較的に簡単なものとなります
.obj{ font-size: 60px; opacity: 0; background-color: rgba(231, 222, 222, 1); margin: 10px; padding: 10px; } .ts { opacity: 1; transform: translateY(-20px); transition: transform 0.8s ease-out 0s, opacity 0.8s ease-out 0s; }
$(window).on("load", function(){ function display(){ var counter = 0; // スクロールより、露出した要素のみのカウンター $(".obj").each( function(){ var obj_bottom = $(this).offset().top + $(this)[0].offsetHeight ; var scroll_bottom = $(window).scrollTop() + $(window).height(); // 下の要素+上の要素がブラウザに露出した際に if( obj_bottom < scroll_bottom && $(this).offset().top > $(window).scrollTop() ) { // 露出した要素のみ if( !$(this).hasClass("ts") ){ // アニメ効果cssクラスの追加+遅延時間を各要素に追加 $(this).addClass("ts"); $(this).css( "transition-delay", counter*150+"ms"); counter ++ ; } } else { // 上の要素+下の要素が不可視になったら、アニメ効果css+遅延cssの除去 $(this).removeClass( "ts" ) ; $(this).removeAttr('style'); } }); } // スクロールされた時に、要素露出のチェック $(window).on("scroll", function(){ display(); }) ; // Windowロード時に一度要素のチェック display(); });
全体的には、比較的に簡単なものとなります
.obj{ font-size: 60px; opacity: 0; background-color: rgba(231, 222, 222, 1); margin: 10px; padding: 10px; } .ts { opacity: 1; transform: translateY(-20px); transition: transform 0.8s ease-out 0s, opacity 0.8s ease-out 0s; }
$(window).on("load", function(){ function display(){ var counter = 0; // スクロールより、露出した要素のみのカウンター $(".obj").each( function(){ var obj_bottom = $(this).offset().top + $(this)[0].offsetHeight ; var scroll_bottom = $(window).scrollTop() + $(window).height(); // 下の要素+上の要素がブラウザに露出した際に if( obj_bottom < scroll_bottom && $(this).offset().top > $(window).scrollTop() ) { // 露出した要素のみ if( !$(this).hasClass("ts") ){ // アニメ効果cssクラスの追加+遅延時間を各要素に追加 $(this).addClass("ts"); $(this).css( "transition-delay", counter*150+"ms"); counter ++ ; } } else { // 上の要素+下の要素が不可視になったら、アニメ効果css+遅延cssの除去 $(this).removeClass( "ts" ) ; $(this).removeAttr('style'); } }); } // スクロールされた時に、要素露出のチェック $(window).on("scroll", function(){ display(); }) ; // Windowロード時に一度要素のチェック display(); });
全体的には、比較的に簡単なものとなります
.obj{ font-size: 60px; opacity: 0; background-color: rgba(231, 222, 222, 1); margin: 10px; padding: 10px; } .ts { opacity: 1; transform: translateY(-20px); transition: transform 0.8s ease-out 0s, opacity 0.8s ease-out 0s; }
$(window).on("load", function(){ function display(){ var counter = 0; // スクロールより、露出した要素のみのカウンター $(".obj").each( function(){ var obj_bottom = $(this).offset().top + $(this)[0].offsetHeight ; var scroll_bottom = $(window).scrollTop() + $(window).height(); // 下の要素+上の要素がブラウザに露出した際に if( obj_bottom < scroll_bottom && $(this).offset().top > $(window).scrollTop() ) { // 露出した要素のみ if( !$(this).hasClass("ts") ){ // アニメ効果cssクラスの追加+遅延時間を各要素に追加 $(this).addClass("ts"); $(this).css( "transition-delay", counter*150+"ms"); counter ++ ; } } else { // 上の要素+下の要素が不可視になったら、アニメ効果css+遅延cssの除去 $(this).removeClass( "ts" ) ; $(this).removeAttr('style'); } }); } // スクロールされた時に、要素露出のチェック $(window).on("scroll", function(){ display(); }) ; // Windowロード時に一度要素のチェック display(); });
全体的には、比較的に簡単なものとなります
.obj{ font-size: 60px; opacity: 0; background-color: rgba(231, 222, 222, 1); margin: 10px; padding: 10px; } .ts { opacity: 1; transform: translateY(-20px); transition: transform 0.8s ease-out 0s, opacity 0.8s ease-out 0s; }
$(window).on("load", function(){ function display(){ var counter = 0; // スクロールより、露出した要素のみのカウンター $(".obj").each( function(){ var obj_bottom = $(this).offset().top + $(this)[0].offsetHeight ; var scroll_bottom = $(window).scrollTop() + $(window).height(); // 下の要素+上の要素がブラウザに露出した際に if( obj_bottom < scroll_bottom && $(this).offset().top > $(window).scrollTop() ) { // 露出した要素のみ if( !$(this).hasClass("ts") ){ // アニメ効果cssクラスの追加+遅延時間を各要素に追加 $(this).addClass("ts"); $(this).css( "transition-delay", counter*150+"ms"); counter ++ ; } } else { // 上の要素+下の要素が不可視になったら、アニメ効果css+遅延cssの除去 $(this).removeClass( "ts" ) ; $(this).removeAttr('style'); } }); } // スクロールされた時に、要素露出のチェック $(window).on("scroll", function(){ display(); }) ; // Windowロード時に一度要素のチェック display(); });
全体的には、比較的に簡単なものとなります
.obj{ font-size: 60px; opacity: 0; background-color: rgba(231, 222, 222, 1); margin: 10px; padding: 10px; } .ts { opacity: 1; transform: translateY(-20px); transition: transform 0.8s ease-out 0s, opacity 0.8s ease-out 0s; }
$(window).on("load", function(){ function display(){ var counter = 0; // スクロールより、露出した要素のみのカウンター $(".obj").each( function(){ var obj_bottom = $(this).offset().top + $(this)[0].offsetHeight ; var scroll_bottom = $(window).scrollTop() + $(window).height(); // 下の要素+上の要素がブラウザに露出した際に if( obj_bottom < scroll_bottom && $(this).offset().top > $(window).scrollTop() ) { // 露出した要素のみ if( !$(this).hasClass("ts") ){ // アニメ効果cssクラスの追加+遅延時間を各要素に追加 $(this).addClass("ts"); $(this).css( "transition-delay", counter*150+"ms"); counter ++ ; } } else { // 上の要素+下の要素が不可視になったら、アニメ効果css+遅延cssの除去 $(this).removeClass( "ts" ) ; $(this).removeAttr('style'); } }); } // スクロールされた時に、要素露出のチェック $(window).on("scroll", function(){ display(); }) ; // Windowロード時に一度要素のチェック display(); });
全体的には、比較的に簡単なものとなります
<!-- 例:media でブレイクポイントの設定 --> @media (min-width: 360px) { body { font-size: 1.0em; } } @media (min-width: 500px) { .seven-day-fc .temp-low, .seven-day-fc .temp-high { display: inline-block; width: 45%; } .seven-day-fc .seven-day-temp { margin-left: 5%; } .seven-day-fc .icon { width: 64px; height: 64px; } }
<!-- 例:media でブレイクポイントの設定 --> @media (min-width: 360px) { body { font-size: 1.0em; } } @media (min-width: 500px) { .seven-day-fc .temp-low, .seven-day-fc .temp-high { display: inline-block; width: 45%; } .seven-day-fc .seven-day-temp { margin-left: 5%; } .seven-day-fc .icon { width: 64px; height: 64px; } }
<!-- 例:media でブレイクポイントの設定 --> @media (min-width: 360px) { body { font-size: 1.0em; } } @media (min-width: 500px) { .seven-day-fc .temp-low, .seven-day-fc .temp-high { display: inline-block; width: 45%; } .seven-day-fc .seven-day-temp { margin-left: 5%; } .seven-day-fc .icon { width: 64px; height: 64px; } }
<!-- 例:media でブレイクポイントの設定 --> @media (min-width: 360px) { body { font-size: 1.0em; } } @media (min-width: 500px) { .seven-day-fc .temp-low, .seven-day-fc .temp-high { display: inline-block; width: 45%; } .seven-day-fc .seven-day-temp { margin-left: 5%; } .seven-day-fc .icon { width: 64px; height: 64px; } }
<!-- 例:media でブレイクポイントの設定 --> @media (min-width: 360px) { body { font-size: 1.0em; } } @media (min-width: 500px) { .seven-day-fc .temp-low, .seven-day-fc .temp-high { display: inline-block; width: 45%; } .seven-day-fc .seven-day-temp { margin-left: 5%; } .seven-day-fc .icon { width: 64px; height: 64px; } }
<!-- 例:media でブレイクポイントの設定 --> @media (min-width: 360px) { body { font-size: 1.0em; } } @media (min-width: 500px) { .seven-day-fc .temp-low, .seven-day-fc .temp-high { display: inline-block; width: 45%; } .seven-day-fc .seven-day-temp { margin-left: 5%; } .seven-day-fc .icon { width: 64px; height: 64px; } }
<!-- 例:media でブレイクポイントの設定 --> @media (min-width: 360px) { body { font-size: 1.0em; } } @media (min-width: 500px) { .seven-day-fc .temp-low, .seven-day-fc .temp-high { display: inline-block; width: 45%; } .seven-day-fc .seven-day-temp { margin-left: 5%; } .seven-day-fc .icon { width: 64px; height: 64px; } }
<!-- 例:media でブレイクポイントの設定 --> @media (min-width: 360px) { body { font-size: 1.0em; } } @media (min-width: 500px) { .seven-day-fc .temp-low, .seven-day-fc .temp-high { display: inline-block; width: 45%; } .seven-day-fc .seven-day-temp { margin-left: 5%; } .seven-day-fc .icon { width: 64px; height: 64px; } }
<!-- 例:media でブレイクポイントの設定 --> @media (min-width: 360px) { body { font-size: 1.0em; } } @media (min-width: 500px) { .seven-day-fc .temp-low, .seven-day-fc .temp-high { display: inline-block; width: 45%; } .seven-day-fc .seven-day-temp { margin-left: 5%; } .seven-day-fc .icon { width: 64px; height: 64px; } }
<!-- 例:media でブレイクポイントの設定 --> @media (min-width: 360px) { body { font-size: 1.0em; } } @media (min-width: 500px) { .seven-day-fc .temp-low, .seven-day-fc .temp-high { display: inline-block; width: 45%; } .seven-day-fc .seven-day-temp { margin-left: 5%; } .seven-day-fc .icon { width: 64px; height: 64px; } }
<!-- 例:media でブレイクポイントの設定 --> @media (min-width: 360px) { body { font-size: 1.0em; } } @media (min-width: 500px) { .seven-day-fc .temp-low, .seven-day-fc .temp-high { display: inline-block; width: 45%; } .seven-day-fc .seven-day-temp { margin-left: 5%; } .seven-day-fc .icon { width: 64px; height: 64px; } }
<!-- 例:media でブレイクポイントの設定 --> @media (min-width: 360px) { body { font-size: 1.0em; } } @media (min-width: 500px) { .seven-day-fc .temp-low, .seven-day-fc .temp-high { display: inline-block; width: 45%; } .seven-day-fc .seven-day-temp { margin-left: 5%; } .seven-day-fc .icon { width: 64px; height: 64px; } }
<!-- 例:media でブレイクポイントの設定 --> @media (min-width: 360px) { body { font-size: 1.0em; } } @media (min-width: 500px) { .seven-day-fc .temp-low, .seven-day-fc .temp-high { display: inline-block; width: 45%; } .seven-day-fc .seven-day-temp { margin-left: 5%; } .seven-day-fc .icon { width: 64px; height: 64px; } }
<!-- 例:media でブレイクポイントの設定 --> @media (min-width: 360px) { body { font-size: 1.0em; } } @media (min-width: 500px) { .seven-day-fc .temp-low, .seven-day-fc .temp-high { display: inline-block; width: 45%; } .seven-day-fc .seven-day-temp { margin-left: 5%; } .seven-day-fc .icon { width: 64px; height: 64px; } }
<!-- 例:media でブレイクポイントの設定 --> @media (min-width: 360px) { body { font-size: 1.0em; } } @media (min-width: 500px) { .seven-day-fc .temp-low, .seven-day-fc .temp-high { display: inline-block; width: 45%; } .seven-day-fc .seven-day-temp { margin-left: 5%; } .seven-day-fc .icon { width: 64px; height: 64px; } }
<!-- 例:media でブレイクポイントの設定 --> @media (min-width: 360px) { body { font-size: 1.0em; } } @media (min-width: 500px) { .seven-day-fc .temp-low, .seven-day-fc .temp-high { display: inline-block; width: 45%; } .seven-day-fc .seven-day-temp { margin-left: 5%; } .seven-day-fc .icon { width: 64px; height: 64px; } }
<!-- 例:media でブレイクポイントの設定 --> @media (min-width: 360px) { body { font-size: 1.0em; } } @media (min-width: 500px) { .seven-day-fc .temp-low, .seven-day-fc .temp-high { display: inline-block; width: 45%; } .seven-day-fc .seven-day-temp { margin-left: 5%; } .seven-day-fc .icon { width: 64px; height: 64px; } }
<!-- 例:media でブレイクポイントの設定 --> @media (min-width: 360px) { body { font-size: 1.0em; } } @media (min-width: 500px) { .seven-day-fc .temp-low, .seven-day-fc .temp-high { display: inline-block; width: 45%; } .seven-day-fc .seven-day-temp { margin-left: 5%; } .seven-day-fc .icon { width: 64px; height: 64px; } }
<!-- 例:media でブレイクポイントの設定 --> @media (min-width: 360px) { body { font-size: 1.0em; } } @media (min-width: 500px) { .seven-day-fc .temp-low, .seven-day-fc .temp-high { display: inline-block; width: 45%; } .seven-day-fc .seven-day-temp { margin-left: 5%; } .seven-day-fc .icon { width: 64px; height: 64px; } }
<!-- 例:media でブレイクポイントの設定 --> @media (min-width: 360px) { body { font-size: 1.0em; } } @media (min-width: 500px) { .seven-day-fc .temp-low, .seven-day-fc .temp-high { display: inline-block; width: 45%; } .seven-day-fc .seven-day-temp { margin-left: 5%; } .seven-day-fc .icon { width: 64px; height: 64px; } }