0

そんなに難しい質問ではないはずです...私はいくつかのjquery要素、特にそれらのインデックスで操作を行う方法を理解するのに苦労しています。Teh codez:

$( "#docSlider" ).css("background-image", "url(../../bundles/mypath/images/maquette/img" + $( "#selectable li" ).index( this ) + (".jpg)"));

ロードする画像の名前を、選択可能なjQueryのインデックスに依存させたいです。そこで、インデックスを取得して1を追加しようとしますが、「+」も連結子であるため、機能しません。
私もparseIntを試しましたが、常に0の価値がありました。

インデックスを整数に変換してから、文字列の残りの部分と連結するにはどうすればよいですか?

前もって感謝します!

編集:私はすでに存在する関数を使用しているので、パラメーターをほとんど変更できません(まあ、私はできないと思います...)

$(function(){})セクションにこのコードのサンプルがあります:

$( "#selectable" ).selectable({
                selected: function(event, ui) { 
                    $( "#docSlider" ).css("background-image", $( "#selectable li" ).index( this ) "url(../../bundles/mypath/images/maquette/img" +  + (".jpg)"));
                }});

//initalizing
                $( "#docSlider" ).css("background-image",  "url(../../bundles/auraeconference/images/maquette/img" + $( "#selectable li" ).index( this ) + (".jpg)"));
4

2 に答える 2

0
$( "#docSlider" ).css("background-image", function(index, url) {
   return "url(../../bundles/mypath/images/maquette/img" + (index + 1) + (".jpg)");
});

.css()プロパティとハンドラーもパラメーターとして使用するため、その関数について心配する必要はありません。これは、コードや既存の関数に影響を与えません。

あなたによると編集

$ "#selectable" )
          .selectable({
             selected: function(event, ui) { 
               var index = $( "#selectable li" ).index( ui.selected ) + 1;
               $( "#docSlider" )
                   .css("background-image", function(){ 
                         return "url(../../bundles/mypath/images/maquette/img" +  index + (".jpg)")});
                }});

または単に

$( "#docSlider" )
          .css("background-image","url(../../bundles/mypath/images/maquette/img" +  index + (".jpg)")});
于 2012-06-05T10:33:36.187 に答える
0

のように使う

$( "#docSlider" ).css("background-image",function(i){
          return "url(../../bundles/mypath/images/maquette/img"+ (i+1)+".jpg";
}); 

$.css次のような代替構文があります

 .css( propertyName, function(index, value) )

あなたはそれを利用することができます。

アップデート

thisコールバック内selectableで、あなたの場合は を参照し#selectableます。だからあなたはどちらかを使うことができます

$(this).find('li').index(ui.selected);

また

$( "#selectable li" ).index( ui.selected )

これを試すことができます

selected: function(event, ui) { 
      var index = $( "#selectable li" ).index( ui.selected ) + 1;
     $( "#docSlider" )
          .css("background-image",  "url(../../bundles/mypath/images/maquette/img" + index + ".jpg)");
                }});

デモ

于 2012-06-05T10:35:20.657 に答える