首页 新闻 会员 周边

有谁可以简单明了的解释下$.data()吗?

0
悬赏园豆:20 [已解决问题] 解决于 2015-01-04 14:55
还有就是下面的用法,有些不太理解!!

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);
 }
 );
Mi文的主页 Mi文 | 初学一级 | 园豆:6
提问于:2015-01-04 12:23
< >
分享
最佳答案
0

$.data() :向被选元素附加数据,或者从被选元素获取数据。

$(this).data('fadeOut'):是获取你选中元素的'fadeOut'的属性值,而不是检测这个对象是否有fadeOut对象

因为第一次这个属性值为false,所以进去了,进去了之后你给人家设置true,下次来的时候,if(!$(this).data('fadeOut'))结果为false所以就进不去了。

收获园豆:20
隔壁老王来了 | 初学一级 |园豆:99 | 2015-01-04 12:39
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册