javascript - 只获取最后一个类分配给 this.class

标签 javascript jquery prototype-oriented

请任何人看看这段代码有什么问题, 我有 2 个类图像,其中包含 .man 和 .girl,每个图像包含 10 个图像。 接下来我有 2 个 div 的 #manCount 和 #girlCount,它们显示图像总数(每个 10 个)

当我将一张图像移动到 #drop 时,#manCount 会减少 1 个数字。所以总共有 10 个类名为 .man 的图像,当最后一个图像移动到 #drop 时,我会弹出一个窗口,显示所有图像都已处理。

现在我也想处理 .girl 类图像,但是当我有两个类初始化时,它只适用于 .girl 类。

function Dragger(c){
this.classname = c;

}
Dragger.prototype.Init = function(){
    var classM = this.classname;
    var manCount = parseInt($("#"+classM+"Count").text());
    $("."+classM).draggable();
        $("#drop").droppable({
          drop: function() {
           if(manCount <= 0){
               alert("There are no more pictures left. " + classM );
               return false;
           }
            manCount -= 1;
           $("#"+classM+"Count").text(manCount);
              }
        });
};

var man = new Dragger("man");
man.Init();

上面的代码运行得很好,但是当我初始化一个新对象时

    var man = new Dragger("man");
    man.Init();
    var girl = new Dragger("girl");
    girl.Init();

它总是选择女孩对象,我做错的地方有什么帮助吗?

它总是在拖动时返回女性对象。 显示截图:http://screensnapr.com/v/SrsyGz.png

这是问题:http://screensnapr.com/v/hxrZYa.png

谢谢

编辑:

好的,我已经通过添加鼠标悬停事件解决了这个问题,我不确定它有多完美,因为我对它还很陌生,但它按预期工作

$(".man").mouseover(function(){
  var man = new Dragger("man");
  man.Init();
});
$(".girl").mouseover(function(){
  var girl = new Dragger("girl");
  girl.Init();
});

最佳答案

也许是因为您在 Init 函数中调用 $('#drop').droppable() ,因此它在同一元素上启动多次(#drop)。

关于javascript - 只获取最后一个类分配给 this.class,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7704975/

相关文章:

javascript - 为 div 滑动而不是淡入淡出

JavaScript 正则表达式 : search and replace tags in string

javascript - 为什么 "toFixed"会阻止我的函数多次运行?

javascript - 在 Bootstrap 的日期选择器上设置 'Start Date'

javascript - 点击按钮后 CSS 和 javascript 就消失了

javascript - REST 客户端实用程序

javascript - 数组中的 div 距窗口顶部的距离

javascript - 原型(prototype)链获取不到Object()?

javascript - 如何在不调用其构造函数的情况下复制对象及其原型(prototype)链?

javascript - javascript中的原型(prototype)行为