0

iDangerous Swiperライブラリを使用して、 Jquery Mobileフレームワークと組み合わせてモバイル スワイプ タッチ ギャラリーを表示しています。インデックス ページ (ギャラリーがある場所) を離れてから戻ってくると、ページネーション ウィジェットが正しく機能しないことを除けば、問題なく動作します。それはまだ表示され (箇条書きを見ることができます)、それでもクリック可能です。つまり、箇条書きに「触れる」と、ギャラリーが対応するスライドにスワイプし、箇条書きが「アクティブ」になりますが、逆の方法では機能しません。つまり、スライドの変更に反応しません。スライドをスワイプしても、現在アクティブな箇条書きは更新されません。

これは初期化コードです:

$( document ).on( "pageshow", "#index-page", function( event ) {

    var mySwiper = new Swiper('.swiper-container',{
        pagination: '.pagination',
        paginationClickable: true,
        slidesPerView: 'auto'
    });

});

ページは jquery mobile のdata-ajax="true"属性にリンクされ、グローバル スコープが維持されます。

4

2 に答える 2

0

それは私にページネーションスワイパーの危険なjqueryモバイルを助けてくれます

$(document).one("pageshow", "#page1", function (e) {
        var swiper = new Swiper('.swiper-container', {
        paginationClickable: true,
        hashnav: true,
        pagination: '.swiper-pagination',
        hashnav: true });       
    function reinitSwiper(swiper) {
      setTimeout(function () {
       swiper.reInit();
      }, 500);
    }
});
于 2015-03-27T03:46:24.097 に答える
0

問題: スワイパーを 2 回初期化します。

解決策: 「pageshow」イベントの外部でグローバル変数「swiper」を定義します。ギャラリーを最初に読み込むと、グローバル変数「swiper」は「未定義」になります。ページを離れて戻ってくると、グローバル変数「swiper」は「未定義」にはなりません。その後、再度初期化しないでください。

<script>
    var swiper;

    $(document).on("pageshow", "#page1", function (e) {
        if (swiper == undefined) {
            swiper = new Swiper('.swiper-container', {
                pagination: '.pagination',
                paginationClickable: true,
                slidesPerView: 'auto'
            }); 
        }
    });
</script>
于 2021-07-31T20:38:08.907 に答える