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


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 相关文章推荐
js左侧三级菜单导航实例代码
Sep 13 Javascript
Asp.Net alert弹出提示信息的几种方法总结
Jan 29 Javascript
JS操作XML实例总结(加载与解析XML文件、字符串)
Dec 08 Javascript
js以分隔符分隔数组中的元素并转换为字符串的方法
Nov 16 Javascript
JavaScript 字符串常用操作小结(非常实用)
Nov 30 Javascript
利用D3.js实现最简单的柱状图示例代码
Dec 09 Javascript
全面解析Node.js 8 重要功能和修复
Jun 02 Javascript
bootstrap-Treeview实现级联勾选
Nov 23 Javascript
jquery的 filter()方法使用教程
Mar 22 jQuery
promise和co搭配生成器函数方式解决js代码异步流程的比较
May 25 Javascript
使用layer.msg 时间设置不起作用的解决方法
Sep 12 Javascript
JavaScript实现简单计算器
Mar 19 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
PHP页面间传递参数实例代码
2008/06/05 PHP
Mysql数据库操作类( 1127版,提供源码下载 )
2010/12/02 PHP
PHP错误Warning: Cannot modify header information - headers already sent by解决方法
2014/09/27 PHP
PHP面向对象程序设计重载(overloading)操作详解
2019/06/13 PHP
tp5 实现列表数据根据状态排序
2019/10/18 PHP
IE和Firefox在JavaScript应用中的兼容性探讨
2008/04/01 Javascript
Javascript this关键字使用分析
2008/10/21 Javascript
jquery特效 幻灯片效果示例代码
2013/07/16 Javascript
javascript顺序加载图片的方法
2015/07/18 Javascript
js实现有过渡渐变效果的图片轮播相册(兼容IE,ff)
2016/01/19 Javascript
简单掌握JavaScript中const声明常量与变量的用法
2016/05/21 Javascript
JavaScript仿淘宝页面图片滚动加载及刷新回顶部的方法解析
2016/05/24 Javascript
JS键盘版计算器的制作方法
2016/12/03 Javascript
jQuery加密密码到cookie的实现代码
2017/04/18 jQuery
使用classList来实现两个按钮样式的切换方法
2018/01/24 Javascript
3种vue路由传参的基本模式
2018/02/22 Javascript
剖析Angular Component的源码示例
2018/03/23 Javascript
如何基于javascript实现贪吃蛇游戏
2020/02/09 Javascript
js实现随机点名功能
2020/12/23 Javascript
[57:09]DOTA2-DPC中国联赛 正赛 Phoenix vs Dynasty BO3 第一场 1月26日
2021/03/11 DOTA
python实现堆和索引堆的代码示例
2018/03/19 Python
对Python字符串中的换行符和制表符介绍
2018/05/03 Python
python设定并获取socket超时时间的方法
2019/01/12 Python
pandas读取csv文件提示不存在的解决方法及原因分析
2020/04/21 Python
基于Python爬取fofa网页端数据过程解析
2020/07/13 Python
使用phonegap检测网络状态的方法
2017/03/30 HTML / CSS
Pottery Barn阿联酋:购买家具、家居装饰及更多
2019/12/08 全球购物
美国最大的在线生存商店:Survival Frog
2020/12/13 全球购物
《植物妈妈有办法》教学反思
2014/02/25 职场文书
2014年公司植树节活动方案
2014/03/04 职场文书
查摆问题自我剖析材料
2014/08/18 职场文书
关于清明节的演讲稿
2014/09/13 职场文书
党员评议表自我评价范文
2014/10/20 职场文书
2015年父亲节活动总结
2015/02/12 职场文书
2015感人爱情寄语
2015/02/26 职场文书
病危通知单
2015/04/17 职场文书