0

だから私はこのコードを少し持っていて、それを入れてみまし.load.readyが、カルーセルがまだ完全にロードされていないため機能しません。

var num_rec = "${recProducts.size()}";
if(num_rec < 5){
    jQuery(".jcarousel-prev").attr("disabled", true);
    jQuery(".jcarousel-next").attr("disabled", true);
    jQuery(".jcarousel-clip").attr("style", 'postion:relative; width:312px;');
}

このコードが実行されるようになりましたが、カルーセル オプションによってオーバーライドされます。このコードを実行する関数を実行するために使用できるカルーセルのオプションはありますか?

カルーセルに 4 つしかない場合は、4 つすべてが表示されるため、ページングを表示する必要はありません。したがって、ページングを完全に削除し、コンテナーを少し大きくして、画像が途切れないようにします。4 つ以上ある場合は、ページングが必要です。

4

3 に答える 3

0

はっ!実際のスタイルシートに余分なスタイルを書きました。これは私が探していたものではありませんが、うまくいきます。それを使用するカルーセル プラグインによって要素にインライン スタイルが追加されないため、CSS 可視性を使用すると機能します。

if(num_rec < 5){                
    document.styleSheets[0].addRule(".pdp-main .recommendations .jcarousel-next", "visibility:hidden;");
    document.styleSheets[0].addRule(".pdp-main .recommendations .jcarousel-prev", "visibility:hidden;");
}

FireFox の場合は、代わりに insertRule を使用する必要があります。

これを行うためのよりクリーンな方法があるかどうかを知りたいです。jQuery Rule プラグインは私には機能しません。

于 2012-07-12T15:48:04.653 に答える
0

簡略化された JQuery メソッド:

var total_items = jcarousel.find('li').length;
if(total_items < 5)
{                
    $('.jcarousel-control-prev, .jcarousel-control-next, .jcarousel-pagination').hide();
}
于 2014-06-04T16:27:13.443 に答える
0
  var items = $('.carousel-navigation').jcarousel('items');
  total_items=items.length;
  if(total_items < 5){                
    $('.prev-navigation, .next-navigation').hide();
  }
于 2016-08-23T12:23:21.247 に答える