0

Здравствуйте, кто знает как после того как элемент попал droppable его удалить. В идеале наведя на элемент курсор мыши в правом углу всплывает крестик, нажав на него элемент удаляется совсем?

Вот такой код получается, но работает не правильно. Он удаляет весь контейнер и при наведении на элемент крестики всплывает у всех элементов. Что я не так сделал?

$(document).ready(function() {

    //прячем крестик
    $('.delete').hide();

    //делаем приемник для элементов
    $( "#contener" ).droppable({
        accept: " #accordion > .dropp > div[id*=element]",
        activeClass: "ui-state-highlight",
        drop: function( event, ui ) {
            var element = $(ui.draggable);
            element.fadeIn(1000, function() {
                $(this).clone()
                .addClass("newElement") 
                .appendTo("#contener" )
                .draggable({containment: "body", opacity: 0.5, stack:".img"})//делаем опять перетаскиваемым
                .resizable({containment: "#contener", aspectRatio:true})//дераем чтоб менялся в размере
                .find('img').animate({
                    'width' : '100%',
                    'height' : '100%'
                },100)

            });
            $(".newElement").prepend($(".delete")); //добовляем крестик элементу который попал в контенер
            $(".newElement > img").hover (function(){

                $('.delete').fadeIn(100);//показываем крестик при наведении
                },function(){
                $('.delete').fadeOut(2000);
            });
            //удаляем то что попала в контенер
            $('div[id*=element]').on('click','.delete', function(){$('.newElement').parent().remove();

            });
        }
    }); 
});

1 ответ 1

1

Что бы не удалялся сам блок, уберите .parent(). Попробуйте, без этого должно заработать.

Что бы выделся только нужный блок поменяйте на

$(".newElement > img").hover (function(){
   $('.newElement .delete').fadeIn(100);//показываем крестик при наведении
   },function(){
   $('.newElement .delete').fadeOut(2000);
});
2
  • .parent() убрал, заработало. Но правда почемуто если несколько элементов, то нажав на одном элементи крестик удалить, то удаляються все. А мне так не надо. Что делать?
    – dmivasant
    22 июл 2013 в 7:31
  • У вас блок .delete находится в диве .newElement? Или это братский элемент? 22 июл 2013 в 8:56

Ваш ответ

By clicking “Отправить ответ”, you agree to our terms of service and acknowledge you have read our privacy policy.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками или задайте свой вопрос.