请任何人看看这段代码有什么问题, 我有 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/