質問

ウィンドウのサイズを変更するときにJCarouselliteプラグインを再調整または破壊して再申請しようとしていますが、成功しません。これは、各ページが「LI」であるWebサイトを作成したためです。その「ページ」...

私はこれをサイズ変更で使用し、JCarouselliteを再申請しようとしましたが、うまくいきませんでした。

$('#mega').jCarouselLite = null;

これは私が使用しているコードですが、JCarouselliteを再適用し続けると、カルーセルは夢中になります!

$(document).ready(function(){
    w = $(window).width();
    h = $(window).height();
    $('#mega li').css('width',w);
    $('#mega li').css('height',h);
    $('#mega').jCarouselLite({
        circular:false,
        vertical:true,
        speed:1000,
        visible:1,
        btnGo:["#home", "#comofunciona", "#porquemegafome", "#contato"]
    });
});
$(window).resize(function() {
    w = $(window).width();
    h = $(window).height();
    $('#mega li').css('width',w);
    $('#mega li').css('height',h);
    $('#mega').jCarouselLite({
        circular:false,
        vertical:true,
        speed:1000,
        visible:1,
        btnGo:["#home", "#comofunciona", "#porquemegafome", "#contato"]
    });
});

解決:

「idrumgood」、私はこれを「li」でのみやろうとしていましたが、プラグインの非アクティブ化についてもう少し検索して、クリックを解除する必要があることを発見しました。

$(window).resize(function() {
    $('#mega').jCarouselLite = null;
    $('#home, #comofunciona, #porquemegafome, #contato').unbind('click'); //buttons I defined on btnGo option
    runCarousel(); //again
    aClick(); // function where I get the li index and save into a hidden input, on resize it keeps li position! :)
});
役に立ちましたか?

解決

JCarousellite(およびほとんどすべてのCarouselプラグイン)は、Carouselが作成されたときに追加のマークアップを注入します。通常、の幅で設定された要素を含む要素 elementsWidth * numberOfElements オーバーフローが隠されています。その中に2番目の含有要素も作成されており、それが実際に移動するものです。次に、要素が浮かんでおり、セカンダリを含む要素の左マージンが変更され、スクロール効果が得られます。

その点は、それを変更したい場合は、Divを含むものの幅や、窓のサイズが変更されたときにスクロールする要素の幅を変更する必要があります。

カルーセルを再現するのではなく、ウィンドウ上のこれらの要素のサイズを変更してみて、何が起こるかを確認してください(マークアップなしで、それは私が与えることができる最良のアドバイスについてです)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top