私の質問のタイトルは紛らわしいように思えるかもしれませんが、私の状況を説明しましょう。どんな助けでも大歓迎です。
私はこれまでこれを行ったことがないので、グーグルで解決策を特定できないのはなぜですか。
jqueryスライドショーがありますが、それに伴う追加のアニメーションがあるため、関数内にラップしました。以下を参照してください...
// my slider function
bikeSlider = function () {
var slider = $('#bike-minislider').bxSlider({
displaySlideQty: 5,
infiniteLoop: false,
hideControlOnEnd: true
});
$('#bike-minislider-fade').fadeIn();
};
// this runs the function
bikeSlider();
ご覧のとおり、関数の直後に、bikeSlider
...を使用して関数を実行します。bikeSlider();
後で、jqueryを使用してスライドショー内のいくつかのスライドを非表示.hide()
にします。
私のjqueryスライドショー関数は#bike-minislider
div内の表示されているスライドの数を計算するため、新しい表示されているスライドの数によってスライドショーが機能しなくなります。新しいスライド数を再計算する必要があると思います。
bikeSlider();
一言で言えば、これは関数を再実行することで解決できると思います。
だから私はこれを以下で試しましたが、うまくいきませんでした。
bikeFilter = function (y) {
$('.bike').fadeOut();
$('.bike[data-group=' + y + ']').fadeIn();
bikeSlider();
return false;
}
ご覧のとおり、関数を再実行しようとしてbikeSlider();
いますが、これは古い関数の上で実行されているようです。したがって、私の質問は、元のスライド関数を削除してから再度実行する方法です。
または、元の関数をリロード/更新して、新しい数値スライドを再計算しますか?
どんなポインタもとても役に立ちます。
ありがとうございました。