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


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 相关文章推荐
Asp.net下使用Jquery Ajax传送和接收DataTable的代码
Sep 12 Javascript
使用js修改客户端注册表的方法
Aug 09 Javascript
javascript实现div浮动在网页最顶上并带关闭按钮效果实例
Aug 13 Javascript
JS检测输入字符是否包含非法字符的示例代码
Feb 11 Javascript
对JavaScript的全文搜索实现相关度评分的功能的方法
Jun 24 Javascript
学习使用jquery iScroll.js移动端滚动条插件
Mar 24 Javascript
BootStrap下拉框在firefox浏览器界面不友好的解决方案
Aug 18 Javascript
JS用斜率判断鼠标进入DIV四个方向的方法
Nov 07 Javascript
jQuery实现根据生日计算年龄 星座 生肖
Nov 23 Javascript
Vue 实现html中根据类型显示内容
Oct 28 Javascript
基于vue的tab-list类目切换商品列表组件的示例代码
Feb 14 Javascript
JavaScript封装单向链表的示例代码
Sep 17 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 中英文语言转换类
2011/09/07 PHP
PHP中session变量的销毁
2014/02/27 PHP
destoon调用discuz论坛中带图片帖子的实现方法
2014/08/21 PHP
php获取根域名方法汇总
2014/10/28 PHP
Thinkphp多文件上传实现方法
2014/10/31 PHP
php计算两个坐标(经度,纬度)之间距离的方法
2015/04/17 PHP
PHP序列化/对象注入漏洞分析
2016/04/18 PHP
php自动提交表单的方法(基于fsockopen与curl)
2016/05/09 PHP
PHP convert_cyr_string()函数讲解
2019/02/13 PHP
jqPlot jquery的页面图表绘制工具
2009/07/25 Javascript
用js的for循环获取radio选中的值
2013/10/21 Javascript
jquery实现瀑布流效果分享
2014/03/26 Javascript
20条学习javascript的编程规范的建议
2014/11/28 Javascript
JSON与XML优缺点对比分析
2015/07/17 Javascript
JavaScript实现简单获取当前网页网址的方法
2015/11/09 Javascript
jQuery操作cookie
2016/08/08 Javascript
AngularJS实现根据不同条件显示不同控件
2017/04/20 Javascript
nodejs入门教程一:概念与用法简介
2017/04/24 NodeJs
ES6深入理解之“let”能替代”var“吗?
2017/06/28 Javascript
浅谈webpack打包生成的bundle.js文件过大的问题
2018/02/22 Javascript
原生JS检测CSS3动画是否结束的方法详解
2019/01/27 Javascript
Vue CLI 2.x搭建vue(目录最全分析)
2019/02/27 Javascript
Jquery动态列功能完整实例
2019/08/30 jQuery
Python最基本的数据类型以及对元组的介绍
2015/04/14 Python
Python判断文本中消息重复次数的方法
2016/04/27 Python
举例讲解Python中字典的合并值相加与异或对比
2016/06/04 Python
Python配置mysql的教程(推荐)
2017/10/13 Python
Python基于hashlib模块的文件MD5一致性加密验证示例
2018/02/10 Python
Python3处理HTTP请求的实例
2018/05/10 Python
Python面向对象类继承和组合实例分析
2018/05/28 Python
python 2.7 检测一个网页是否能正常访问的方法
2018/12/26 Python
Html5实现用户注册自动校验功能实例代码
2016/05/24 HTML / CSS
约瑟夫·特纳男装:Joseph Turner
2017/10/10 全球购物
交通事故协议书范文
2014/04/16 职场文书
《青海高原一株柳》教学反思
2014/04/25 职场文书
2014年转正工作总结
2014/11/08 职场文书