我在容器中有5张图像,我必须放入另一个容器中才能完成图像。将图像放入另一个容器后,我想根据其ID为该图像添加不同的类。这样的图像就会粘在这个容器中的前一个图像上。
我可以实现拖放事件,并在drop事件后为每个图像添加一个类。我需要在我的代码中进行哪些更改,以根据其ID
为每个图像添加不同的类我的代码
<style>
.add-style {
position:absolute;
}
.north-style {
width: 375px;top: 10px;left: 11px;
}
.south-style {
width: 375px;top: 158px;left: 11px;
}
.east-style {
width: 163px;top: 10px;left: 223px;height: 250px;
}
.west-style {
width: 163px;top: 9px;left: 11px;height: 249px;
}
.center-style {
width: 126px;top: 71px;left: 135px;
}
</style>
<script>
$(function() {
$( "#sortable1" ).sortable({
connectWith: "div"
});
$( "#sortable2" ).sortable({
connectWith: "div",
stop: function( event, ui ) {
ui.item.addClass( "add-style" )
}
});
$( "#sortable1, #sortable2" ).disableSelection();
});
</script>
代码的正文部分
<body>
<div class="row-fluid" >
<div class="span4">
<div class="span1"></div>
<div id="sortable1" class="well sidebar-nav sidebar-nav-fixed span11">
<legend>Collect Coupon parts</legend>
<span>1st part</span>
<img id="north-img" class="ui-state-highlight" src="images/demo/north.png" >
<span>2nd part</span>
<img id="south-img" class="ui-state-highlight" src="images/demo/south.png" >
<span>3rd part</span>
<img id="east-img" class="ui-state-highlight" src="images/demo/east.png" >
<span">4th part</span>
<img id="west-img" class="ui-state-highlight" src="images/demo/west.png" >
<span>5th part</span>
<img id="center-img" class="ui-state-highlight" src="images/demo/center.png">
</div>
</div>
<div id="sortable2" class=" well sidebar-nav sidebar-nav-fixed span8">
<legend>Canvas section</legend>
</div>
</div>
</body>
答案 0 :(得分:1)
首先将您的课程更改为以下内容。
显示的两个例子,也改变了其他3个。
.north-img-style {
width: 375px;top: 10px;left: 11px;
}
.south-img-style {
width: 375px;top: 158px;left: 11px;
}
然后在你的代码的这一部分添加这两行
stop: function( event, ui ) {
var theID = ui.item.attr('id');
ui.item.addClass(theID + '-style');
}
var theID
抓取元素的id
,然后我们只使用相同的ID addClass,但添加样式。所以这适用于所有五个不同的类。
修改
是的,您可以一次添加多个班级。只需用逗号分隔即可:
var theID = ui.item.attr('id');
ui.item.addClass(theID + '-style', 'add-style');