0

我有带有工具提示的文件夹,例如“0 个条目”或“5 个条目”等。每次将某些内容放入文件夹时,我都需要此工具提示编号更新 1。标题并不总是从零开始,我需要更新 $(this) drop div,因为我有很多。这是工作小提琴http://jsfiddle.net/4ehSG/3

jQuery

$(document).tooltip();

var dropped =0;

$( ".draggable" ).draggable();
    $( ".droppable" ).droppable({
      drop: function( event, ui ) {
        dropped++;
          $( this )
          .attr('title',dropped+' entries')
          .addClass( "ui-state-highlight" )
          .find( "p" )
            .html( "Dropped!" );
          $( ".draggable" ).fadeOut();
      }
    });

HTML

<div class="draggable ui-widget-content">
  <p>Drag me to my target</p>
</div>

<div class="droppable ui-widget-header" title='2 entries'>
  <p>Drop here</p>
</div>
4

5 回答 5

1

这是您可以执行的操作的示例:http: //jsfiddle.net/4ehSG/9/

  drop: function( event, ui ) {
      var dropped = parseInt($(this).attr('title')) + 1;
      $( this )
      .attr('title',dropped+' entries')
      .addClass( "ui-state-highlight" )
      .find( "p" )
        .html( "Dropped!" );
      $( ".draggable" ).fadeOut();
  }
于 2013-09-17T16:55:37.817 回答
1

每次删除元素时都可以增加一个变量

试试这个

$(document).tooltip();
var num = 0;
$( "#draggable" ).draggable();
$( "#droppable" ).droppable({
    drop: function( event, ui ) {
        $( this )
        .addClass( "ui-state-highlight" )
        .find( "p" )
        .html( "Dropped!" );
        num++;

        $( "#draggable" ).fadeOut();
        $( "#droppable" ).attr("title", num + " entries");
  }
});

您更新的示例:http: //jsfiddle.net/4ehSG/4/

于 2013-09-17T16:57:29.103 回答
1

如果您有多个 and 实例droppabledraggable您可能希望给每个实例droppable一个与其关联的数组。这样你就不需要依赖一个count对象,你可以将相同的对象draggable放在多个droppable对象上。

DEMO

$(document).tooltip();
$( ".draggable" ).draggable();
$( ".droppable" ).droppable({
    drop: function( event, ui ) {
        if(!$(this).data('droplist')){ //check for array
            $(this).data('droplist', []); //if doesn't exist, create array
        }
        var droplist = $(this).data('droplist'),
            drag = $(ui.draggable)[0];

        if(droplist.indexOf(drag) === -1) //check if element exists in array
            droplist.push(drag);

        $( this )
        .addClass( 'ui-state-highlight' )
        .find( 'p' )
        .html( 'Dropped!' )
        .end()
        .attr('title', droplist.length + ' entries');

         $(this).data('droplist', droplist); //set list
    }
});
于 2013-09-17T17:18:42.057 回答
0

演示

$(document).tooltip();

var count = 0;

$("#draggable").draggable();
$("#droppable").droppable({
    drop: function (event, ui) {
        count++;
        $(this)
            .attr('title', count + ' entries')
            .addClass("ui-state-highlight")
            .find("p")
            .html("Dropped!");
        $("#draggable").fadeOut();
    }
});
于 2013-09-17T16:58:08.940 回答
0

您可以使用:

document.getElementById('droppable').title = value;

上面这行代码没有使用 jQuery。

如果要使用 jQuery,请使用以下命令:

$("#droppable").attr( 'title', value );
于 2013-09-17T17:00:26.760 回答