1

我是 jQuery 的新手,我正在尝试在我的项目中进行图像验证,有四个图像和四个答案框,当所有图像和答案框与用户“匹配”匹配时,用户只需将正确的图像排列在正确的框中。我尝试了一些代码,但它无法正常工作。我的代码在这里。

<img id="ans1" src="icon/folder.png" />
<img id="ans2" src="icon/magnifier.png" />
<img id="ans3" src="icon/recycle.png" />
<img id="ans4" src="icon/trash_empty.png" />

<div id="answer1"></div>
<div id="answer2"></div>
<div id="answer3"></div>
<div id="answer4"></div>


<script type="text/javascript">
$('img').draggable({ containment: 'document', revert: true, drag: function(){
var image = $(this).attr('id');
}});  

$(document).ready(function() { 
$('div').droppable({containment: 'parent', drop: function(image){
var answer = $(this).attr('id');
 if(answer=='answer1' && image=='ans1'){
     alert('Image match.'); 
}else{
    alert('Condition not working!');
}
 }});

});

http://jsfiddle.net/khizar067/2men9/

4

1 回答 1

1

图片对象是事件,所以你必须使用(ev,ui)来获取你正在拖动的对象,ui.draggable就是你正在拖动的对象

$('div').droppable({
    containment: 'parent',
    drop: function (ev, ui) { 
       //               ^^
        console.log(ui.draggable);
        var answer = $(this).attr('id');
        if (answer == 'answer1' && ui.draggable[0].id == 'ans1') {
         //                        ^^^^^^^^^^^^^^^^^^
            alert('Image match.');
        } else {
            alert('Condition not working!');
        }
    }
});

演示

于 2013-10-21T12:53:48.330 回答