Javascript 如何限制粒子仅从一个对象/位置/文件释放,而不是单击屏幕上的任何位置?

Javascript 如何限制粒子仅从一个对象/位置/文件释放,而不是单击屏幕上的任何位置?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,如何限制粒子仅从一个对象/位置/文件释放,而不是单击屏幕上的任何位置?当我们点击屏幕上的任何地方,喷泉就会工作,但我的目标是通过点击屏幕上的特定位置/对象来限制喷泉的工作。例如,让我们假设屏幕中央有一个位置或一个150X150px的图像,喷泉应该只有在我点击该图像时才工作,而不是在其他地方。我会感谢你的帮助 /-------------------------------------用于正方形------------- var d=文件,$d=$(d), w=窗口,$w=$(w), wWidt

如何限制粒子仅从一个对象/位置/文件释放,而不是单击屏幕上的任何位置?当我们点击屏幕上的任何地方,喷泉就会工作,但我的目标是通过点击屏幕上的特定位置/对象来限制喷泉的工作。例如,让我们假设屏幕中央有一个位置或一个150X150px的图像,喷泉应该只有在我点击该图像时才工作,而不是在其他地方。我会感谢你的帮助

/-------------------------------------用于正方形-------------
var d=文件,$d=$(d),
w=窗口,$w=$(w),
wWidth=$w.width(),wHeight=$w.height(),
信用=$('.credit>a'),
粒子=$('.particles'),
particleCount=0,
最大时间=10,
尺寸=[
75
],
颜色=[
"f44336","e91e63","9c27b0","673ab7","3f51b5",,
"2196f3","03a9f4","00bcd4","009688","4CAF50",,
"8BC34A","CDDC39","FFEB3B","FFC107","FF9800",,
"FF5722","795548","9E9E9E","607D8B","777777"
],
mouseX=$w.width()/2,mouseY=$w.height()/2;
函数updateParticleCount(){
$('.particle count>.number').text(particleCount);
};
$w
.on('resize',函数(){
wWidth=$w.width();
wHeight=$w.高度();
});
美元
.on('mousemove touchmove',函数(事件){
event.preventDefault();
event.stopPropagation();
mouseX=event.clientX;
mouseY=event.clientY;
如果(!!event.originalEvent.touchs){
mouseX=event.originalEvent.touchs[0].clientX;
mouseY=event.originalEvent.touchs[0].clientY;
}
})
.on('mousedown touchstart',函数(事件){
if(event.target==credit.get(0)){
返回;
}
mouseX=event.clientX;
mouseY=event.clientY;
如果(!!event.originalEvent.touchs){
mouseX=event.originalEvent.touchs[0].clientX;
mouseY=event.originalEvent.touchs[0].clientY;
}
var计数器=0;
变量计时器=设置间隔(函数(){
如果(计数器<最大时间){
创建粒子(事件);
}否则{
清除间隔(计时器);
计数器=0;
}
计数器++;
}, 1000 / 20);
美元。
on('mouseup mouseleave touchend touchcancel touchleave',函数(){
清除间隔(计时器);
});
});
函数createParticle(事件){
变量粒子=$(''+getSymbol()+''),
size=size[Math.floor(Math.random()*size.length)],
color=colors[Math.floor(Math.random()*colors.length)],
负=大小/2,
speedHorz=Math.random()*10,
加速比=数学.random()*25,
spinVal=360*Math.random(),
自旋速度=((12*Math.random())*(Math.random().particle.normal){
宽度:15px;
高度:15px;
}
.particles>.particle.big{
宽度:20px;
高度:20px;
}
.particles>.particle.biger{
宽度:25px;
高度:25px;
}
.粒子{
背景:#000;
边界半径:100%;
位置:绝对位置;
背景重复:无重复;
字体系列:“Roboto Slab”,衬线;
字体大小:48px;
文本对齐:居中;
}
/**-----------------------------------------------------------------**/
.粒子2计数{
显示:块;
文本对齐:居中;
利润率:25px0;
}
.particles2>.particle2{
背景:#000;
边界半径:100%;
位置:绝对位置;
背景重复:无重复;
颜色:白色;
}
.particles2>.particle2.small{
宽度:10px;
高度:10px;
}
.particles2>.particle2.normal{
宽度:15px;
高度:15px;
}
.particles2>.particle2.big{
宽度:20px;
高度:20px;
}
.particles2>.particle2.biger{
宽度:25px;
高度:25px;
}
.分词2{
背景:#000;
边界半径:100%;
位置:绝对位置;
背景重复:无重复;
字体系列:“Roboto Slab”,衬线;
字体大小:48px;
文本对齐:居中;
}

单击以查找粒子
您正在对整个文档调用“on()”函数。为了将其限制为特定对象,请将$(“tag”)用作元素,而不是$document

/-------------------------------------用于正方形-------------
var d=文件,$d=$(d),
w=窗口,$w=$(w),
wWidth=$w.width(),wHeight=$w.height(),
信用=$('.credit>a'),
粒子=$('.particles'),
particleCount=0,
最大时间=10,
尺寸=[
75
],
颜色=[
"f44336","e91e63","9c27b0","673ab7","3f51b5",,
"2196f3","03a9f4","00bcd4","009688","4CAF50",,
"8BC34A","CDDC39","FFEB3B","FFC107","FF9800",,
"FF5722","795548","9E9E9E","607D8B","777777"
],
mouseX=$w.width()/2,mouseY=$w.height()/2;
函数updateParticleCount(){
$('.particle count>.number').text(particleCount);
};
$w
.on('resize',函数(){
wWidth=$w.width();
wHeight=$w.高度();
});
美元(“p”)
.on('mousemove touchmove',函数(事件){
event.preventDefault();
event.stopPropagation();
mouseX=event.clientX;
mouseY=event.clientY;
如果(!!event.originalEvent.touchs){
mouseX=event.originalEvent.touchs[0].clientX;
mouseY=event.originalEvent.touchs[0].clientY;
}
})
.on('mousedown touchstart',函数(事件){
if(event.target==credit.get(0)){
返回;
}
mouseX=event.clientX;
mouseY=event.clientY;
如果(!!event.originalEvent.touchs){
mouseX=event.originalEvent.touchs[0].clientX;
mouseY=event.originalEvent.touchs[0].clientY;
}
var计数器=0;
变量计时器=设置间隔(函数(){
如果(计数器<最大时间){
创建粒子(事件);
}否则{
清除间隔(计时器);
计数器=0;
}
计数器++;
}, 1000 / 20);
美元(“p”)。
on('mouseup mouseleave touchend touchcancel touchleave',函数(){
清除间隔(计时器);
});
});
函数createParticle(事件){
变量粒子=$(''+getSymbol()+''),
size=size[Math.floor(Math.random())*