#jquery #jquery-ui #jcarousel #jquery-ui-draggable #jcarousellite
#jquery #jquery-пользовательский интерфейс #jcarousel #jquery-пользовательский интерфейс-перетаскиваемый #jcarousellite
Вопрос:
Мне нужно создать карусель изображений jQuery примерно с 30 изображениями (отображая по 5 одновременно), которая также позволит пользователю перемещать каждое изображение (предположительно, реализованное как перетаскиваемое) и помещать это изображение в droppable div. Я экспериментировал с jCarousel, и я не думаю, что это сработает в моей ситуации. Кто-нибудь что-нибудь знает?
Ответ №1:
Вам пришлось бы импортировать jquery, jqueryui, jcarousel и любой применимый css, связанный с jcarousel и jquery ui. В настоящее время у меня возникла проблема с удалением заполнителя в карусели после перетаскивания изображения. Остается белое поле. Надеюсь, это все же поможет. Если я найду полное решение, я дам вам знать.
<script type="text/javascript">
jQuery(document).ready(function() {
$('#mycarousel').jcarousel();
var $gallery = $( "#mycarousel" ),
$trash = $( "#dropzone" );
$(".draggable").draggable({
snap: '#dropzone',
snapMode: 'inner',
//snapTolerance: 50,
revert: 'invalid',
helper: 'clone',
appendTo: "body",
cursor: 'move'
});
$("#dropzone").droppable({
accept: '.draggable',
activeClass: "custom-state-active",
drop: function(ev, ui) {
//$item.appendTo("#dropzone");
deleteImage( ui.draggable );
}
});
function deleteImage( $item ) {
$item.css('display', 'none');
$item.fadeOut(function() {
var $list = $( "ul", $trash ).length ?
$( "ul", $trash ) :
$( "<ul class='gallery ui-helper-reset'/>" ).appendTo( $trash );
$item.appendTo( $list ).fadeIn();
});
}
});
</script>
<div id="dropzone" class="ui-widget-content ui-state-default" style="width: 960px; height: 300px; ">
<h1 style="text-align: center; margin-top: 120px;">Drag Images Here</h1>
</div>
<div style="height: 50px; width: 100%; clear: both;"></div>
<div class="carousel_container">
<ul id="mycarousel" class="jcarousel-skin-tango">
<li class="ui-widget-content draggable"> <!-- class="ui-widget-content dropme" -->
<img src="images/IA_interactive_hugging.jpg" width="200px" height="200px" alt="" />
</li>
<li class="ui-widget-content draggable">
<img src="images/IA_interactive_kilamanjaro.jpg" width="200px" height="200px" alt="" />
</li>
<li class="ui-widget-content draggable">
<img src="images/IA_interactive_rhino.jpg" width="200px" height="200px" alt="" />
</li>
<li class="ui-widget-content draggable">
<img src="images/IA_interactive_statuemonkey.jpg" width="200px" height="200px" alt="" />
</li>
<li class="ui-widget-content draggable">
<img src="images/IA_ThresholdImageSampleA_AJB_080311.jpg" width="200px" height="200px" alt="" />
</li>
<li class="ui-widget-content draggable">
<img src="images/IA_ThresholdImageSampleB_AJB_080311.jpg" width="200px" height="200px" alt="" />
</li>
<li class="ui-widget-content draggable">
<img src="images/IA_ThresholdImageSampleC_AJB_080311.jpg" width="200px" height="200px" alt="" />
</li>
<li class="ui-widget-content draggable">
<img src="images/IA_ThresholdImageSampleD_AJB_080311.jpg" width="200px" height="200px" alt="" />
</li>
<li class="ui-widget-content draggable">
<img src="images/IA_ThresholdImageSampleE_AJB_080311.jpg" width="200px" height="200px" alt="" />
</li>
<li class="ui-widget-content draggable">
<img src="images/IA_ThresholdImageSampleF_AJB_080311.jpg" width="200px" height="200px" alt="" />
</li>
<li class="ui-widget-content draggable">
<img src="images/IA_ThresholdImageSampleG_AJB_080311.jpg" width="200px" height="200px" alt="" />
</li>
<li class="ui-widget-content draggable">
<img src="images/IA_ThresholdImageSampleH_AJB_080311.jpg" width="200px" height="200px" alt="" />
</li>
<li class="ui-widget-content draggable">
<img src="images/IA_ThresholdImageSampleI_AJB_080311.jpg" width="200px" height="200px" alt="" />
</li>
</ul>
</div>
Комментарии:
1. у меня это отлично сработало, спасибо. не могли бы вы, пожалуйста, показать мне, как сделать изображение снова перетаскиваемым вместо удаления из carousel после его перетаскивания, и если мой div похож на поле, как мне центрировать его в этом поле .. также как мне получить идентификатор изображения, которое было перетащено в div
2. Я не тестировал это, но в $ («#dropzone»).droppable({ все, что вам нужно было бы сделать, это удалить строку deleteImage(ui.draggable);. Обычно вы можете получить идентификатор изображения с помощью jquery, что-то вроде (this).attr(«id»); Центрирование просто кажется проблемой CSS.