Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/423.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用droppable函数显示div_Javascript_Jquery_Drag And Drop_Show_Jquery Droppable - Fatal编程技术网

Javascript 使用droppable函数显示div

Javascript 使用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

我的代码按计划工作,除了一件事。单击暗灰色框时,橙色框显示为show()

但是,当您将蓝色可拖动div放在橙色框上时,我希望紫色框出现。这似乎不起作用

我想问你的问题是,当它在上面几行工作时,为什么这个函数在drop函数中不工作,我如何才能使它工作

我试着把紫色的div放在橙色的div里面,但是它只显示了一次。。。 非常感谢您的帮助,如果您不理解我,请告诉我

(问题在于可拖放功能)

jQuery

$('.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。。。所以它只对第一个有效。。。无论如何,让我知道你的问题……”我会帮你解决我的问题,我只试了一些东西,你的代码工作得很好!:)谢谢你当然。。。享受编码的乐趣…:):)