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


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 相关文章推荐
javascript中RegExp保留小数点后几位数的方法分享
Aug 13 Javascript
Javascript 实现图片无缝滚动
Dec 19 Javascript
常用的JavaScript WEB操作方法分享
Feb 28 Javascript
JS如何判断是否为ie浏览器的方法(包括IE10、IE11在内)
Dec 13 Javascript
jquery判断复选框选中状态以及区分attr和prop
Dec 18 Javascript
JavaScript中Window对象的属性及事件
Dec 25 Javascript
jQuery使用ajax跨域获取数据的简单实例
May 18 Javascript
jQuery EasyUI的TreeGrid查询功能实现方法
Aug 08 jQuery
ES6中数组array新增方法实例总结
Nov 07 Javascript
vue 实现微信浮标效果
Sep 01 Javascript
vue实现跳转接口push 转场动画示例
Nov 01 Javascript
vue-cli3项目配置eslint代码规范的完整步骤
Sep 10 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 判断变量类型实现代码
2009/10/23 PHP
PHP 命令行工具 shell_exec, exec, passthru, system详细使用介绍
2011/09/11 PHP
php发送post请求函数分享
2014/03/06 PHP
PHP程序员常见的40个陋习,你中了几个?
2014/11/20 PHP
在Linux系统的服务器上隐藏PHP版本号的方法
2015/06/06 PHP
php动态变量定义及使用
2015/06/10 PHP
PHP mysql事务问题实例分析
2016/01/18 PHP
PHP常用排序算法实例小结【基本排序,冒泡排序,快速排序,插入排序】
2017/02/07 PHP
PHP实现的多维数组排序算法分析
2018/02/10 PHP
表单(FORM)的一些实用效果代码
2007/03/25 Javascript
js实现编辑div节点名称的方法
2014/12/17 Javascript
深入理解JavaScript系列(45):代码复用模式(避免篇)详解
2015/03/04 Javascript
IOS中safari下的select下拉菜单文字过长不换行的解决方法
2016/09/26 Javascript
jquery的父、子、兄弟节点查找,节点的子节点循环方法
2016/12/07 Javascript
详解NodeJs支付宝移动支付签名及验签
2017/01/06 NodeJs
ng-options和ng-checked在表单中的高级运用(推荐)
2017/01/21 Javascript
基于bootstrop常用类总结(推荐)
2017/09/11 Javascript
js实现无刷新监听URL的变化示例代码详解
2020/06/03 Javascript
手把手带你搭建一个node cli的方法示例
2020/08/07 Javascript
探索浏览器页面关闭window.close()的使用详解
2020/08/21 Javascript
js实现弹幕飞机效果
2020/08/27 Javascript
Python实现约瑟夫环问题的方法
2016/05/03 Python
Python实现的科学计算器功能示例
2017/08/04 Python
Python设计模式之观察者模式简单示例
2018/01/10 Python
python DataFrame获取行数、列数、索引及第几行第几列的值方法
2018/04/08 Python
numpy.std() 计算矩阵标准差的方法
2018/07/11 Python
python实现自动登录
2018/09/17 Python
Python 转换RGB颜色值的示例代码
2019/10/13 Python
keras中的loss、optimizer、metrics用法
2020/06/15 Python
CSS3 3D位移translate效果实例介绍
2016/05/03 HTML / CSS
哈萨克斯坦最大的时装、鞋子和配饰在线商店:Lamoda.kz
2019/11/19 全球购物
酒店总经理工作职责
2013/12/13 职场文书
医院科室评语
2015/01/04 职场文书
教师个人学习总结
2015/02/11 职场文书
vue实力踩坑之push当前页无效
2022/04/10 Vue.js
使用CSS实现黑白格背景效果
2022/06/01 HTML / CSS