愉快的一天!我有一个使用 jquery ui 来展示拖放功能的简单功能。我想将两个图像(两个 div)拖到一个屏幕(一个 div)中。目标是当图像#1 被拖放到目标上时,屏幕将显示 textarea 框,而另一个被拖入同一屏幕时,textarea 消失。jsFiddle 示例点击这里!
我尝试添加“if(condition)”语法来区分这两种不同的状态。但是,它根本不起作用。我的脚本如下:
<script>
$(function() {
$(".sample").draggable({
revert: true
});
$("#screen").droppable({
tolerance: 'touch',
over: function(event, ui){
$(this).removeClass('out').addClass('over'); },
out: function(event, ui) {
$(this).removeClass('over').addClass('out'); },
drop: function(event, ui) {
//I believe something is wrong here!
var idVal=$(ui.draggable).attr('id');
if ( idVal=="sample6"){
$('#text').show();}
else if(idVal=="sample5"){
$('#text').hide();}
}
});
});
</script>
HTML 标记如下:
<div id="screen" style="float:left">
<div id="text" class="textarea" ><textarea style="border:hidden; color: yellow; background-color: transparent; z-index:1000px;">Text Here!</textarea>
</div>
</div>
<div id="memo"></div>
<div id="sample6" class="sample">
<p>Show the Textarea</p>
</div>
<div id="sample5" class="sample">
<p>Delete the Textarea</p>
</div>
</div>
我不知道 Jquery UI 是否可以让我将具有 2 个或更多“id”的不同对象拖放到单个可拖放区域以触发/触发不同的结果(“例如显示或隐藏文本框或更改图像”)。欢迎任何有用的建议或解决方案!