动态标签 悬停效果 延迟加载示例代码


Posted in Javascript onNovember 21, 2013

----------------------对于动态的标签绑定事件------------------------

var outTimer;//执行时间 
var upTimer;//执行时间 
var sqDiv = $("#tm");//要显示的div 
var test="";//标识,为了将鼠标移到显示的div上时,div不会消失 
var dd = "";//划过某一字段传的值 
function test1(){ 
$("#tm").empty();//现将div清空 
$.ajax({ //往里加数据 
type:"post", 
url:"<%=path %>/webmodule/constructionDecision/BaseCD/getCommunityInfo.do?stCode="+dd, 
dataType:"json", 
async:false, 
success:function(data){ 
var td=""; 
for(var i=0;i<data.length;i++){ 
td+="<a id ='"+data[i].gridNumber+"'>"+data[i].name+"</a>"; 
} 
$("#tm").append(td); 
} 
}); 
$("#tm").show(); 
} function test2(){//隐藏div的方法 
if(test ==""){ 
$("#tm").hide(); 
} 
} 
$("#cityTable a").die().live('mouseover mouseout', function(event) { //给动态标签绑定事件 
if(event.type=='mouseover'){ //移上时 
clearTimeout(outTimer);//先清空移出的时间,这样能避免鼠标划过就执行函数,减轻服务器的压力 
dd=$(this).attr("id"); 
upTimer = setTimeout(test1, 500);//0.5秒后再执行 
} 
if(event.type=='mouseout'){ 
sqDiv.hover( 
function(){ 
test = "on";//说明鼠标在显示的div上 
},function(){ 
test = ""; 
test2(); 
}); 
clearTimeout(upTimer); 
outTimer = setTimeout(test2, 500); 
} 
});

----------------------------非动态标签(查询资料)-----------------------------------
//hoverDuring 鼠标经过的延时时间 
//outDuring 鼠标移出的延时时间 
//hoverEvent 鼠标经过执行的方法 
//outEvent 鼠标移出执行的方法 
$( function() { 
$.fn.hoverDelay = function(options) { 
var defaults = { 
hoverDuring :200, 
outDuring :200, 
hoverEvent : function() { 
$.noop(); 
}, 
outEvent : function() { 
$.noop(); 
} 
}; 
var sets = $.extend(defaults, options || {}); 
var hoverTimer, outTimer; 
return $(this).each( function() { 
$(this).hover( function() { 
clearTimeout(outTimer); 
hoverTimer = setTimeout(sets.hoverEvent, sets.hoverDuring); 
}, function() { 
clearTimeout(hoverTimer); 
outTimer = setTimeout(sets.outEvent, sets.outDuring); 
}); 
}); 
}

//$("#sosoFod h3").each( function() { 
$("#sosoweb").each( function() { 
var test = "";//当test为空时,鼠标移到字段显示div,移出隐藏div 
var that = $(this); 
var id = that.attr("id"); 
var div = $("#tm"); 
div.css("position", "absolute");//让这个层可以绝对定位 
that.hoverDelay( { 
outDuring :1000, 
hoverEvent : function() { 
div.css("display", "block"); 
var p = that.position(); //获取这个元素的left和top 
var x = p.left + that.width();//获取这个浮动层的left 
var docWidth = $(document).width();//获取网页的宽 
if (x > docWidth - div.width() - 20) { 
x = p.left - div.width(); 
} 
div.css("left", x); 
div.css("top", p.top); 
//$("#tm").show(); }, 
outEvent : function() { 
$("#tm").hoverDelay( { 
outDuring :1000, 
hoverEvent : function() { 
test = "on"; 
$("#tm").show(); 
}, 
outEvent : function() { 
test=""; 
$("#tm").hide(); 
} 
}); 
if(test==""){ 
$("#tm").hide(); 
} 
} 
}); 
});
Javascript 相关文章推荐
获取页面高度,窗口高度,滚动条高度等参数值getPageSize,getPageScroll
Sep 22 Javascript
表单(FORM)的一些实用效果代码
Mar 25 Javascript
js模拟实现Array的sort方法
Dec 11 Javascript
JavaScript判断DOM何时加载完毕的技巧
Nov 11 Javascript
web性能优化之javascript性能调优
Dec 28 Javascript
基于jquery实现的文字向上跑动类似跑马灯的效果
Jun 17 Javascript
JQuery中上下文选择器实现方法
May 18 Javascript
jQuery语法小结(超实用)
Dec 31 Javascript
javascript入门之数组[新手必看]
Nov 21 Javascript
JavaScript中this的用法实例分析
Dec 19 Javascript
jQuery设计思想
Mar 07 Javascript
JavaScript登录记住密码操作(超简单代码)
Mar 22 Javascript
JS两种定义方式的区别、内部原理
Nov 21 #Javascript
jQuery操作input值的各种方法总结
Nov 21 #Javascript
jqgrid 表格数据导出实例
Nov 21 #Javascript
js 实现菜单左右滚动显示示例介绍
Nov 21 #Javascript
Extjs4实现两个GridPanel之间数据拖拽功能具体方法
Nov 21 #Javascript
JQuery的ready函数与JS的onload的区别详解
Nov 21 #Javascript
js 实现菜单上下显示附效果图
Nov 21 #Javascript
You might like
openPNE常用方法分享
2011/11/29 PHP
php利用反射实现插件机制的方法
2015/03/14 PHP
php bootstrap实现简单登录
2016/03/08 PHP
PHP面向对象多态性实现方法简单示例
2017/09/27 PHP
围观tangram js库
2010/12/28 Javascript
通过Jquery遍历Json的两种数据结构的实现代码
2011/01/19 Javascript
用js判断页面刷新或关闭的方法(onbeforeunload与onunload事件)
2012/06/22 Javascript
谷歌showModalDialog()方法不兼容出现对话窗口的解决办法
2016/02/15 Javascript
js+html5实现canvas绘制网页时钟的方法
2016/05/21 Javascript
bootstrap学习笔记之初识bootstrap
2016/06/21 Javascript
关于javascript的一些知识以及循环详解
2016/09/12 Javascript
浅谈Express.js解析Post数据类型的正确姿势
2019/05/30 Javascript
新手如何快速理解js异步编程
2019/06/24 Javascript
JQuery+Bootstrap 自定义全屏Loading插件的示例demo
2019/07/03 jQuery
vue2.0项目集成Cesium的实现方法
2019/07/30 Javascript
微信小程序加载机制及运行机制图解
2019/11/27 Javascript
vue实现简易的双向数据绑定
2020/12/29 Vue.js
[05:13]2018DOTA2亚洲邀请赛主赛事第二日战况回顾 LGD、VG双雄携手晋级
2018/04/05 DOTA
[01:08:32]DOTA2-DPC中国联赛 正赛 DLG vs PHOENIX BO3 第二场 1月18日
2021/03/11 DOTA
Python中使用PyQt把网页转换成PDF操作代码实例
2015/04/23 Python
python编程开发之类型转换convert实例分析
2015/11/13 Python
Python中断言Assertion的一些改进方案
2016/10/27 Python
python assert的用处示例详解
2019/04/01 Python
pycharm重命名文件的方法步骤
2019/07/29 Python
python如何使用socketserver模块实现并发聊天
2019/12/14 Python
Python 写了个新型冠状病毒疫情传播模拟程序
2020/02/14 Python
python 对一幅灰度图像进行直方图均衡化
2020/10/27 Python
JD Sports芬兰:英国领先的运动鞋和运动服饰零售商
2018/11/16 全球购物
C语言笔试题回忆
2015/04/02 面试题
应届大学生求职的自我评价
2013/11/17 职场文书
迟到检讨书900字
2014/01/14 职场文书
老龄工作先进事迹
2014/08/15 职场文书
领导班子四风查摆对照检查材料思想汇报
2014/10/05 职场文书
工作推荐信模板
2015/03/25 职场文书
学雷锋献爱心倡议书
2015/04/27 职场文书
住房公积金贷款工资证明
2015/06/12 职场文书