0

不应该是一个很难的问题......我只是很难弄清楚如何对一些 jquery 元素进行操作,尤其是它们的索引。编码:

$( "#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) )

你可以利用它。

更新

thisselectable回调内部,在您的情况下是指#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 回答