jquery:myx和Y坐标表示我的jquery“;将鼠标悬停在插件上;不起作用

jquery:myx和Y坐标表示我的jquery“;将鼠标悬停在插件上;不起作用,jquery,plugins,Jquery,Plugins,我有一个jquery插件,可以为标签创建一个悬停在文本框上的选项 该插件的工作原理是从标签的“title attr”中提取文本,然后将其放入div标签(称为#hoverText)中。#hoeverText div标签的“绝对定位”距离标签的X和Y坐标为10px 然而,我的代码的这一部分不起作用,我不知道如何修复它。hoverText div标记似乎停留在页面顶部。因此,如果我在页面底部有一个A标记,那么hoverText div标记将不可见,因为它位于页面顶部 我已经把我的插件的副本放在了这个页

我有一个jquery插件,可以为标签创建一个悬停在文本框上的选项

该插件的工作原理是从标签的“title attr”中提取文本,然后将其放入div标签(称为#hoverText)中。#hoeverText div标签的“绝对定位”距离标签的X和Y坐标为10px

然而,我的代码的这一部分不起作用,我不知道如何修复它。hoverText div标记似乎停留在页面顶部。因此,如果我在页面底部有一个A标记,那么hoverText div标记将不可见,因为它位于页面顶部

我已经把我的插件的副本放在了这个页面的底部,非常感谢任何建议或帮助

(function ($) {

$.fn.hoverText= function() {

 $(this).after('<div id="hoverText"></div>' );

//  if (title != undefined || title != ''){
    $(this).mouseover(function(){

      title = $(this).attr ('title');
      $(this).attr( 'title', '');  


    }).mousemove(function(e) {


    var top= e.clientY + 10;
    var left= e.clientX + 10;

//  $('#pos').text(top + '  ' + left );

$('#hoverText').css('top', top).css('left', left ).text(title).show();
}).mouseout(function() {

    $(this).attr('title',  title );
    $('#hoverText').hide(); 

    });



}
}) (jQuery); 
(函数($){
$.fn.hoverText=函数(){
$(本)。在('')之后;
//如果(标题!=未定义| |标题!=''){
$(this.mouseover(function()){
title=$(this.attr('title');
$(this.attr('title','');
}).mousemove(函数(e){
var top=e.clientY+10;
左var=e.clientX+10;
//$('#pos')。文本(顶部+''+左侧);
$('#hoverText').css('top',top.).css('left',left.).text(title.show();
}).mouseout(函数(){
$(this.attr('title',title);
$('#hoverText').hide();
});
}
})(jQuery);

变量title,top和left必须声明为全局变量,以便在每个函数中使用。

变量title,top和left必须声明为全局变量,以便在每个函数中使用。

我不使用绝对定位,而是将div添加到A之后,然后使用边距或填充。绝对定位意味着项目将根据父项目(在给定顶部、左侧、右侧和底部时)自行定位。如果你真的想坚持使用左上角的方法,你可以尝试相对定位。我不会使用绝对定位,而是在A后面添加div,然后使用边距或填充来定位div。绝对定位意味着项目将根据父项目来定位自身(当给定一个上、左、右、下)如果你真的想坚持上、左的方法,你可以尝试相对定位。嗨,我认为生成全局变量的方法就是简单地去掉“var”这个词从station.eg代替var top=e.clientY+10;我将按如下方式定义它:top=e.clientY+10;。您能确认这是否是生成全局变量的正确方法吗?我确实尝试过这个方法,但它与脚本没有区别。您必须在函数声明后声明变量title、top和left,就像这样:$.fn.hoverText=function(){var title,top,left;…..您好,我认为生成全局变量的方法就是删除“var”这个词从station.eg代替var top=e.clientY+10;我将按如下方式定义它:top=e.clientY+10;。您能确认这是否是生成全局变量的正确方法吗?我确实尝试过这个方法,但它与脚本没有区别。您必须在函数声明后声明变量title、top和left,就像这样:$.fn.hoverText=function(){var title,top,left。。。。。