Javascript 更改jQuery的值';事件中的s$(此)对象
我想先单击一个图像(Javascript 更改jQuery的值';事件中的s$(此)对象,javascript,jquery,html,css,this,Javascript,Jquery,Html,Css,This,我想先单击一个图像(img#first),然后将其拆分为另一个图像的三个较小版本(img.cat)。每次单击img.cat,它都会随机抛出克隆的元素,并临时显示一只狮子来代替单击的img.cat cat复制和lion弹出窗口都能正常工作(通过单击左上角的小猫可以看到),但我不知道如何将其设置为。img上的click()事件首先将调用复制小猫的函数。重申一下,我希望img#首先生成3个较小的img.cat,然后消失,如果用户继续单击新建img.cat对象,它们会继续生成更多的对象。问题在于让原始的
img#first
),然后将其拆分为另一个图像的三个较小版本(img.cat
)。每次单击img.cat
,它都会随机抛出克隆的元素,并临时显示一只狮子来代替单击的img.cat
cat复制和lion弹出窗口都能正常工作(通过单击左上角的小猫可以看到),但我不知道如何将其设置为。img上的click()事件首先将调用复制小猫的函数。重申一下,我希望img#首先
生成3个较小的img.cat
,然后消失,如果用户继续单击新建img.cat
对象,它们会继续生成更多的对象。问题在于让原始的img首先引发连锁反应,然后永远消失
这是我的建议
如果我能够让整个。单击(分解)
函数首先在img上工作#
,然后在初次单击后以某种方式将该标识符交换到img.cat
,这难道不管用吗
例如:
var firstRun = 0
$('img#first').click(function() {
if (!firstRun) {
//do original stuff here
firstRun = 1;
} else {
$(this) = $('img.cat');
//do img.cat stuff here
}
});
或者我是否需要隔离explode函数,以便在两个不同对象上分别调用它,同时实现相同的效果
老实说,我不知道如何着手完成这两项任务。也许有一个更简单的方法来获得我想要的。更新你的
$('img.cat')。单击(
事件侦听器的选择器到$('img.cat,img#first)
选择两个img.cat
和img#first
。使用这个新的事件侦听器,您可以删除第一个$('img#first')。单击()。请参阅我的更新。添加一个单独的事件,该事件仅在单击#首先
时触发,该事件通过编程方式触发单击img.cat
然后像这样移除自身:
$('#first').click(function() {
$("img.cat").trigger("click");
$(this).remove();
});
.你的小提琴似乎适合我。我首先点击img#
,3只较小的猫科动物产卵了,它变成了一只狮子,狮子消失了。我可以继续点击较小的img.cat
,同样的事件序列也会发生。我遗漏了什么?在Javascript中不能像分配变量一样重新分配this
的值,因此不能更改jQuery中$(this)
表示的内容。一个旁注:$('first')
是比$('img#first')
@SamSullivan更理想的选择器,您正在单击img.cat。首先单击img不会产生任何效果。我希望它开始整个过程(最初隐藏img.cat)。基本上,将img.cat的全部功能点击并应用到不同的第一张图像上,然后恢复正常。@winterblood感谢您提供的提示:选择器。我会研究这背后的逻辑。很接近,但这只是创造了两组不同的猫。我只希望img首先可以点击一次,然后永远消失。这是我第一次尝试我非常感谢你的帮助,这正是我想要的功能。谢谢你,先生。