2014-04-02 2 views
1

Используя этот пример http://jsfiddle.net/sPbmM/93/, я пытаюсь сделать границу «.cart», когда элемент перетаскивания будет перечеркнут. Я попытался сПеретаскивание пунктирной границы

.cart:hover{ 
    border: dashed } 

и

$('.cart ').droppable({ 
     accept: ".drag", 
    hoverclass: 'hover', 
    drop: function(event, ui){  
     window.location=$(ui.draggable).find("a.addtocart").attr("href"); 
    } 
}); 

без каких-либо результатов

ответ

1

Добавить hoverClass вариант, а затем определить в вашем CSS этот класс не hover эффект, как вы в

.cart:hover{ 
    border: dashed } 

Try:

$('.cart ').droppable({ 
     accept: ".drag", 

    drop: function(event, ui){  
     window.location=$(ui.draggable).find("a.addtocart").attr("href"); 
    }, 
    hoverClass:"dashed" 

}); 

И добавьте в CSS:

.dashed{ 
    border: 5px dashed #ccc; 
} 

DEMO

0

Используйте перетащить перетаскиваемую и остановить, чтобы изменить стиль границы:

$('.drag').draggable({ 
    revert: "invalid", 
    helper: "clone", 
    drag: function() { 
     $('div.cart').css('borderStyle', 'dashed') 
    }, 
    stop: function() { 
     $('div.cart').css('borderStyle', 'solid') 
    } 
}); 

jsFiddle example

В качестве альтернативы вы можете добавить и удалить класс для изменения границы. Если вы хотите, чтобы применить изменения, когда элемент находится над тележкой, используйте Droppable закончится и из событий вместо

$('.cart ').droppable({ 
    accept: ".drag", 
    over: function() { 
     $('div.cart').css('borderStyle', 'dashed'); 
    }, 
    out: function() { 
     $('div.cart').css('borderStyle', 'solid'); 
    }, 
    drop: function (event, ui) { 
     window.location = $(ui.draggable).find("a.addtocart").attr("href"); 
    } 
}); 

jsFiddle example

Смежные вопросы