Javascript 使用droppable函数显示div
我的代码按计划工作,除了一件事。单击暗灰色框时,橙色框显示为show() 但是,当您将蓝色可拖动div放在橙色框上时,我希望紫色框出现。这似乎不起作用 我想问你的问题是,当它在上面几行工作时,为什么这个函数在drop函数中不工作,我如何才能使它工作 我试着把紫色的div放在橙色的div里面,但是它只显示了一次。。。 非常感谢您的帮助,如果您不理解我,请告诉我 (问题在于可拖放功能) jQueryJavascript 使用droppable函数显示div,javascript,jquery,drag-and-drop,show,jquery-droppable,Javascript,Jquery,Drag And Drop,Show,Jquery Droppable,我的代码按计划工作,除了一件事。单击暗灰色框时,橙色框显示为show() 但是,当您将蓝色可拖动div放在橙色框上时,我希望紫色框出现。这似乎不起作用 我想问你的问题是,当它在上面几行工作时,为什么这个函数在drop函数中不工作,我如何才能使它工作 我试着把紫色的div放在橙色的div里面,但是它只显示了一次。。。 非常感谢您的帮助,如果您不理解我,请告诉我 (问题在于可拖放功能) jQuery $('.lightgray').hover( function() { $(this).f
$('.lightgray').hover(
function() {
$(this).find('.darkgray').fadeTo('fast', 0.5);
}, function() {
$(this).find('.darkgray').fadeOut('fast');
});
$('.lightgray').bind("click", function(event) {
$(this).find('.orange').show();
$(this).unbind('hover');
});
$("#draggable_blue").draggable({
revert: true
});
$('.orange').hover(
function() {
$(this).find('.darkgray').fadeTo('fast', 0.5);
}, function() {
$(this).find('.darkgray').fadeOut('fast');
});
$(".orange").droppable({
drop: function() {
$(this).find('.purple').show();
}
});
Html
<div id="wrapper">
<div id="container">
<div class="lightgray">
<div class="darkgray">
</div>
<div class="orange">
</div>
<div class="purple">
</div>
</div>
<div class="lightgray">
<div class="darkgray">
</div>
<div class="orange">
</div>
</div>
<div class="lightgray">
<div class="darkgray">
</div>
<div class="orange">
</div>
</div>
<div class="lightgray">
<div class="darkgray">
</div>
<div class="orange">
</div>
</div>
<div class="orange">
</div>
<div class="lightgray">
<div class="darkgray">
</div>
<div class="orange">
</div>
</div>
<div class="lightgray">
<div class="darkgray">
</div>
<div class="orange">
</div>
</div>
<div class="lightgray">
<div class="darkgray">
</div>
<div class="orange">
</div>
</div>
<div class="lightgray">
<div class="darkgray">
</div>
<div class="orange">
</div>
</div>
<div id="menu">
<div id="draggable_blue">
</div>
</div>
</div>
</div>
试试这个
$(this).parent().find('.purple').show();
这是小提琴
.find()
获取当前匹配元素集中每个元素的后代。因此,使用$(this).find()
,您在div.orange
内部搜索,因为您的div.purple
在外部。它将无法找到div.purple
我添加了
parent()
........
$(".orange").droppable({
drop: function() {
$(this).hide();
$(this).find('.purple').show();
}
});
但如果我将紫色div放在橙色div中,它只起作用一次。你能解释一下这是怎么发生的吗?谢谢,这太麻烦了……:)…只工作过一次??我不理解你。。。。你的意思是紫色的div应该变成灰色(watever),而mouusehaver也是。。或者所有浅灰色的div都应该变成紫色。。我发现。。。。只有第一个浅灰色div
具有紫色div。。。所以它只对第一个有效。。。无论如何,让我知道你的问题……”我会帮你解决我的问题,我只试了一些东西,你的代码工作得很好!:)谢谢你当然。。。享受编码的乐趣…:):)