jQuery mouseover hover mouseout移除集合变量
jQuery mouseover hover mouseout remove set variables
我使用以下内容通过悬停在区域地图上的jquery从另一个页面引入图片和一些文本。当你悬停时,我已经找到了它,但当你悬停在一个新元素上时,它会加载最后一个元素,然后快速切换到新元素。如何清除它在鼠标上保存的内容?我添加了mouseout功能,但我不知道该在里面放什么!任何帮助都将不胜感激。
if (sPage == "fireplan.aspx") {
jQuery('area').mousemove(function (e) {
var url = jQuery(this).attr('tooltiphref');
jQuery('#tooltipwindow').load('tooltip.aspx?soid=' + url);
jQuery("#tooltipwindow").css("position", "fixed").css("top", (e.pageY - jQuery(window).scrollTop()) + "px").css("left", (e.pageX) + "px").css("display", "none").fadeIn("fast")
});
jQuery('area').mouseout(function () {
});
}
谢谢,Tom
"闪烁"的原因是,旧内容在移动时仍在工具提示窗口中,因为与通过下一行的.css()
移动工具提示相比,对.load()
的调用需要一些时间。
为了避免这种情况,只需在mouseout
处理程序中放入以下内容:
jQuery('#tooltipwindow').empty()
这将删除以前加载到工具提示中的内容,因此其内容将显示为空白。更理想的方法是插入某种活动指示器,让用户知道内容正在加载,例如:
jQuery('#tooltipwindow').html('<div class="activityIndicator"></div>')
在这种情况下,您只需将类.activityIndicator
设置为具有一些背景图像,如旋转车轮的动画GIF。
显示加载成功回调中的工具提示,这样您就可以在显示工具提示之前知道新内容已经加载。
jQuery('#tooltipwindow').load('tooltip.aspx?soid=' + url, function() {
jQuery("#tooltipwindow").css("position", "fixed").css("top", (e.pageY - jQuery(window).scrollTop()) + "px").css("left", (e.pageX) + "px").css("display", "none").fadeIn("fast")
});
此外,如果要创建悬停效果,可能需要侦听mouseover事件,而不是使用mousemove()
方法已知的mousemove事件。
是否只想影响第一个div?如果是这样的话,为什么不让jQuery选择器更加具体,这样它只适用于第一个元素:
$('area.first_area').mousemove(function(){ });
jQuery('area').mousemove(function (e) {
var url = jQuery(this).attr('tooltiphref');
jQuery('#tooltipwindow').empty(); // empty before loading new content
jQuery('#tooltipwindow').load('tooltip.aspx?soid=' + url);
jQuery("#tooltipwindow").css("position", "fixed").css("top", (e.pageY - jQuery(window).scrollTop()) + "px").css("left", (e.pageX) + "px").css("display", "none").fadeIn("fast")
});
jQuery('area').mouseout(function () {
jQuery('#tooltipwindow').empty(); // empty when mouseout get triggered
});
相关文章:
- React:使用索引变量更新嵌套集合
- 集合回调忽略范围变量
- Meteor - 将 mongodb 查询分配给变量并将其插入到另一个集合
- 为变量分配有限集合中的随机元素
- 如何检查集合中的哪个变量正在使用
- 将服务器变量设置为蒙戈集合 Meteor.js 中保存的数据
- 当更新流星中的嵌套集合时,如何为更新路径传递变量
- AngularJS.什么's指令如果变量不是集合,我需要重复html标记
- angular$watch-can'当集合是相同的变量时,不要让手表开火
- 在JQuery中为这些变量使用集合值,而不是随机值
- Backbone.js没有't将变量保存在集合中
- 如何在jquery集合日期中传递变量
- jQuery mouseover hover mouseout移除集合变量
- Meteor:如何在会话变量上对集合进行排序
- 如何管理javascript变量的集合、添加/删除等
- 一对多关系——变量所有者集合属性
- 在AngularJS中给一个临时变量赋值一些集合变量
- 调试BackboneJS + RequireJS实例变量,如集合、模型等
- 如何使用变量作为键来更新mongo集合
- Iron路由器、集合帮助程序和会话变量.如何在javascript函数中调用项属性