还有就是下面的用法,有些不太理解!!
var hs=$("<div></div>");
$("body").append(hs);
$(".ws").on({
"mousemove":function(ev){
if(!$(this).data('fadeOut')){//这个是不是检测这个对象是否有fadeOut对象(这里所有添加的都要是对象吗)
$(this).data('fadeOut',true);//没有就添加一个对象
hs.show(400).delay(1200).fadeOut();//按道理我那个是个mousemove事件他移动的话会不断执行下面的hs.show(400).delay(1200).fadeOut();可为什么上面只是做个判断,设置个属性为true,这个hs.show(400).delay(1200).fadeOut()就可以只会执行一次而不会随着不断移动的move事件去执行呢,这个data到底有什么作用??
}
},
"mouseout":function(){
hs.finish();
$(this).data('fadeOut',false);
}
);
1 回答

狐的传说
TA贡献1804条经验 获得超3个赞
$.data() :向被选元素附加数据,或者从被选元素获取数据。
$(this).data('fadeOut'):是获取你选中元素的'fadeOut'的属性值,而不是检测这个对象是否有fadeOut对象
因为第一次这个属性值为false,所以进去了,进去了之后你给人家设置true,下次来的时候,if(!$(this).data('fadeOut'))结果为false所以就进不去了。
添加回答
举报
0/150
提交
取消