不应该是一个如此难的问题......我只是很难弄清楚如何对某些jquery元素进行操作,特别是它们的索引。 Teh codez:
$( "#docSlider" ).css("background-image", "url(../../bundles/mypath/images/maquette/img" + $( "#selectable li" ).index( this ) + (".jpg)"));
我想让我加载的图片的名称取决于jQuery selectable的索引。所以我抓住索引并尝试添加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)"));
答案 0 :(得分: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)")});
答案 1 :(得分: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)");
}});