bxSliderで画像がちらつく問題の対処法を解説!
bxSliderで画像がちらつく問題の対処法を解説します。特にbxSliderでオプションを用いた際に画像がちらついてしまいます。しかしこの問題はあることに留意すると簡単に解決できます。ここではこの問題の対処法をサンプルコード付きで解説します。
bxSliderで画像がちらつく問題
特にbxSliderのオプションを用いると、bxSliderで画像がちらつく問題が頻繁に
起こりえます。
またbxSliderのclass
名をbxslider
にしていないとちらつきます。
bxsliderのオプションでmode:fade
とし、ちらつく場合のサンプルコードを用意したので、見てみましょう。
このようにbxSliderで1枚目の画像から2枚目の画像にフェードしてループ際に、一瞬3枚目の画像がちらついていることが分かります。
ではこのサンプルコードを元に以下の項目で対処する方法について解説します。
bxSliderで画像がちらつく問題の対処法
ではbxSliderで画像がちらつく問題の対処法について解説します。
classをbxsliderとする
class
属性をbxslider
とするだけで、私の環境ではちらつきが無くなりました。
では実際にサンプルコードを用いて挙動を確認してみましょう。
このように1つ目のサンプルコードで見られたちらつきが無くなっていることが分かります。
このことからbxSliderを用いる際は、class
属性はbxslider
とすることを心掛けましょう。
mode:verticalの際の画像のちらつき
mode:vartical
とした際に、CSSで何も設定していないと、上部に他の画像がちらついてしまいます。
では対処したサンプルコードを用意したので、挙動を確認してみましょう。
このように.slider
に対して、
mode:verticalに対する対処
ul.slider {
padding: 0; /* または padding-left: 0; */
margin: 0;
}
のように設定するだけで、上部に他の画像がちらつくという問題は解決します。
またul
要素のclass
属性をbxslider
とすると、CSSの設定なしでも画像はちらつきません。
useCSS:falseとする
私の環境では起こらなかったのですが、導入にあたりループ時に、1枚目の画像がちらつく(一瞬、画像の半分が白くなる)現象が発生することがあるみたいです。
そんな時の対処法として、bxSliderのオプションであるuseCSS:false
とすることが挙げられます。
では実際にサンプルコードを用いて挙動を確認してみましょう。
このように画像のちらつきがないことが分かります。
useCSSによって使えるオプション
useCSS
をfalse
にしてしまうとbxSliderの一部のオプションがつかえなくなります。
では逆にuseCSS
をtrue
にすることで、使えるオプションを紹介します。
そのオプションとはeasingオプションの'linear', 'ease', 'ease-in', 'ease-out', 'ease-in-out', 'cubic-bezier(n,n,n,n)'となります。
まとめ
いかがでしたでしょうか?
私の環境ではclass
属性をbxslider
にすることで、今まで困らされていた画像のちらつき問題が一気に解消されました。
ですので、ぜひbxSliderを用いる際はclass
属性をbxslider
にして用いてください。
