Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.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 仅获取分配给此.class的最后一个类_Javascript_Jquery_Prototype Oriented - Fatal编程技术网

Javascript 仅获取分配给此.class的最后一个类

Javascript 仅获取分配给此.class的最后一个类,javascript,jquery,prototype-oriented,Javascript,Jquery,Prototype Oriented,请大家看看这个代码有什么问题, 我有两张带有.man和.girl的班级图片,每个包含10张图片。 接下来,我有两个div的#manCount和#girlCount,它们显示图像总数(每个10个) 当我将一个图像移动到#drop时,它将从#manCount减少1个数字。所以总共有10张图像的类名。伙计,当最后一张图像被移动到#drop时,我会弹出一个窗口,所有图像都会被处理 现在我还想处理.girl类图像,但当我对这两个类进行初始化时,它只能处理.girl类 function Dragger(c)

请大家看看这个代码有什么问题, 我有两张带有.man和.girl的班级图片,每个包含10张图片。 接下来,我有两个div的#manCount和#girlCount,它们显示图像总数(每个10个)

当我将一个图像移动到#drop时,它将从#manCount减少1个数字。所以总共有10张图像的类名。伙计,当最后一张图像被移动到#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();
它总是挑女孩的对象,有没有帮我哪里做错了

它总是在拖动时返回女性对象。 显示的屏幕截图:

问题是:

谢谢

编辑:

好的,我已经通过添加mouseover事件解决了这个问题,我不确定它有多完美,虽然我对它还很陌生,但它的工作原理和预期的一样

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

可能是因为您在
Init
函数中调用了
$(“#drop”).droppable()
,所以它在同一个元素(#drop)上被启动了不止一次。

感谢您的输入,我不确定发生了什么,因为我对jquery还是个新手,我想问题是我同时初始化了两个类,所以它只选择了最后一个,所以它总是减少最后一个对象的值。这里是一个屏幕发生了什么,你可能应该把逻辑放在下拉回调中,以避免范围问题。谢谢我会检查,我刚刚找到了一个解决方案,只有当鼠标经过时才初始化对象,你能看到上面的内容并告诉我它是否好,我对这个概念很陌生。再次感谢。请在句首大写
I
和字母,以增加可读性。抱歉修复了一些,我们将在下一步处理。
$(".man").mouseover(function(){
  var man = new Dragger("man");
  man.Init();
});
$(".girl").mouseover(function(){
  var girl = new Dragger("girl");
  girl.Init();
});