###ページローディングを付けるとスライダーが表示されなくなります。
下記のようにサイトの読み込み時にローディングを設置したのですが、
設置したことで、bxslider.jsのスライダーが表示されなくなりました。
いろいろ探ってみると、append()というメソッドでページ全体を囲っている#pageに
display: none;を指定しているのが原因のようでした。
ローディングもスライダーもどちらも共存させることは可能でしょうか。
jQuery('head').append( '<style type="text/css">#page { display: none; } #fade, #loader { display: block; }</style>' ); jQuery(document).ready(function() { jQuery('.loader_img').fadeIn(2000); }); jQuery.event.add(window,"load",function() { // 全ての読み込み完了後に呼ばれる関数 var pageH = jQuery("#page").height(); //setTimeout関数でfadeOut()の実行を遅延させる setTimeout(function() { jQuery("#fade").css("height", pageH).delay(900).fadeOut(2000); jQuery("#loader").delay(600).fadeOut(1200); jQuery("#page").css("display", "block"); }, 2000); });
jQuery(function(){ jQuery('.top_product_list ul').bxSlider({ auto: true, pause:8000, slideWidth: 300, minSlides: 4, maxSlides: 4, moveSlides:1, slideMargin: 0, pager: false, //controls: false //prev/nextを非表示 }); });
<div id="loader"> <img src="loader_logo.png" class="loader_img" /> </div> <div id="fade"></div> <div id="page" class="hfeed site"> ~~~ </div>
回答2件
あなたの回答
tips
プレビュー