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


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 TextArea字符串长度限制代码集合
Oct 31 Javascript
Javascript拓展String方法小结
Jul 08 Javascript
javascript框架设计之类工厂
Jun 23 Javascript
详解WordPress开发中get_current_screen()函数的使用
Jan 11 Javascript
关于JS中match() 和 exec() 返回值和属性的测试
Mar 21 Javascript
浅谈js内置对象Math的属性和方法(推荐)
Sep 19 Javascript
对Angular.js Controller如何进行单元测试
Oct 25 Javascript
BootStrap Fileinput初始化时的一些参数
Dec 30 Javascript
利用jquery实现实时更新歌词的方法
Jan 06 Javascript
JS实现线性表的顺序表示方法示例【经典数据结构】
Apr 11 Javascript
vue.js配合$.post从后台获取数据简单demo分享
Aug 11 Javascript
关于element-ui的隐藏组件el-scrollbar的使用
May 29 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正则
2006/07/07 PHP
php通过ksort()函数给关联数组按照键排序的方法
2015/03/18 PHP
php 升级到 5.3+ 后出现的一些错误,如 ereg(); ereg_replace(); 函数报错
2015/12/07 PHP
YII Framework框架教程之安全方案详解
2016/03/14 PHP
PHP实现批量删除(封装)
2017/04/28 PHP
Alliance vs Liquid BO3 第一场2.13
2021/03/10 DOTA
权威JavaScript 中的内存泄露模式
2007/08/13 Javascript
js获取select标签的值且兼容IE与firefox
2013/12/30 Javascript
CSS+JS实现点击文字弹出定时自动关闭DIV层菜单的方法
2015/05/12 Javascript
JS组件Bootstrap Table使用实例分享
2016/05/30 Javascript
JS 组件系列之 bootstrap treegrid 组件封装过程
2017/04/28 Javascript
配置nodejs环境的方法
2017/05/13 NodeJs
Vue.js项目部署到服务器的详细步骤
2017/07/17 Javascript
angularjs使用gulp-uglify压缩后执行报错的解决方法
2018/03/07 Javascript
js中的数组对象排序分析
2018/12/11 Javascript
JavaScript中交换值的10种方法总结
2020/08/18 Javascript
python使用webbrowser浏览指定url的方法
2015/04/04 Python
Python生成数字图片代码分享
2017/10/31 Python
Python常见字符串操作函数小结【split()、join()、strip()】
2018/02/02 Python
python实现requests发送/上传多个文件的示例
2018/06/04 Python
pycharm运行程序时在Python console窗口中运行的方法
2018/12/03 Python
解决Django生产环境无法加载静态文件问题的解决
2019/04/23 Python
Python QT组件库qtwidgets的使用
2020/11/02 Python
台湾专柜女包:KINAZ
2019/12/26 全球购物
毕业生幼师求职自荐信
2013/10/01 职场文书
区域销售经理岗位职责
2013/12/10 职场文书
宣传口号大全
2014/06/16 职场文书
法学院毕业生求职信
2014/06/25 职场文书
迟到检讨书2000字(精选篇)
2014/10/07 职场文书
教师党员学习群众路线心得体会
2014/11/04 职场文书
财务工作个人总结
2015/02/27 职场文书
2015年团支部工作总结
2015/04/03 职场文书
新教师教学工作总结
2015/08/14 职场文书
PostgreSQL事务回卷实战案例详析
2022/03/25 PostgreSQL
vue 实现弹窗关闭后刷新效果
2022/04/08 Vue.js
Linux安装Docker详细教程
2022/07/07 Servers