Javascript onmouseover和jquery函数工作不正常
功能本身:Javascript onmouseover和jquery函数工作不正常,javascript,jquery,html,Javascript,Jquery,Html,功能本身: $hover = " onmouseover=\"showImageThumbnail(this, '".$url_thumb."')\""; 函数showImageThumbnail(obj,url){ xOffset=30; yOffset=10; $.get(url、函数(数据){ $(obj).悬停(功能(e){ $(“正文”)。追加(); $(“截图”) .css(“顶部”(e.pageY-xOffset)+“px”) .css(“左”(e.pageX+yOffset)+
$hover = " onmouseover=\"showImageThumbnail(this, '".$url_thumb."')\"";
函数showImageThumbnail(obj,url){
xOffset=30;
yOffset=10;
$.get(url、函数(数据){
$(obj).悬停(功能(e){
$(“正文”)。追加();
$(“截图”)
.css(“顶部”(e.pageY-xOffset)+“px”)
.css(“左”(e.pageX+yOffset)+“px”)
.fadeIn(“快速”);
},
函数(){
$(“#屏幕截图”).remove();
});
$(obj).mousemove(函数(e){
$(“截图”)
.css(“顶部”(e.pageY-xOffset)+“px”)
.css(“左”(e.pageX+yOffset)+“px”);
});
});
}
我的问题是我的函数无法正常工作,我需要将其悬停两次才能正常工作。此功能类似于工具提示,它显示图像缩略图。我想,我需要删除
.hover.
方法,但在这之后,我的函数根本不起作用,或者部分不起作用(例如,当光标离开链接时,缩略图不会被删除)。有人能帮我修复该功能吗?尝试进行以下更改
function showImageThumbnail(obj, url){
xOffset = 30;
yOffset = 10;
$.get(url, function(data) {
$(obj).hover(function(e){
$("body").append("<p id='screenshot'><img src='data:image/jpg;base64,"+ data +"' alt='Atsisiųsti' /></p>");
$("#screenshot")
.css("top",(e.pageY - xOffset) + "px")
.css("left",(e.pageX + yOffset) + "px")
.fadeIn("fast");
},
function(){
$("#screenshot").remove();
});
$(obj).mousemove(function(e){
$("#screenshot")
.css("top",(e.pageY - xOffset) + "px")
.css("left",(e.pageX + yOffset) + "px");
});
});
}
“”
及
$(函数(){
var screenshot=$(“”).hide()
.附于(“主体”);
var img=$('img',屏幕截图);
$('.download[image]')。悬停(函数(e){
$.get($(this).attr('image'),函数(数据){
attr('src','data:image/jpg;base64,'
+数据);
});
img.removeAttr('src');
screenshot.css({
‘top’:(e.pageY-xOffset)+‘px’,
“左”:(e.pageX+yOffset)+“px”
}).fadeIn(“快速”);
},函数(){
屏幕截图。隐藏();
}).mousemove(函数(e){
screenshot.css({
‘top’:(e.pageY-xOffset)+‘px’,
“左”:(e.pageX+yOffset)+“px”
})
});
})
如果您使用的是jQuery,为什么不使用合适的事件处理程序呢?这是因为您正在注册鼠标悬停的回调。因此,当第一次鼠标悬停时,鼠标悬停将注册到工具提示中,第二次鼠标悬停时,鼠标悬停将注册到工具提示中shown@ArunPJohny我理解,但我需要使用onmouseover
调用该函数,如果我删除该。hover
方法,我的函数将开始疯狂运行。。
function showImageThumbnail(obj, url){
xOffset = 30;
yOffset = 10;
$.get(url, function(data) {
$(obj).hover(function(e){
$("body").append("<p id='screenshot'><img src='data:image/jpg;base64,"+ data +"' alt='Atsisiųsti' /></p>");
$("#screenshot")
.css("top",(e.pageY - xOffset) + "px")
.css("left",(e.pageX + yOffset) + "px")
.fadeIn("fast");
},
function(){
$("#screenshot").remove();
});
$(obj).mousemove(function(e){
$("#screenshot")
.css("top",(e.pageY - xOffset) + "px")
.css("left",(e.pageX + yOffset) + "px");
});
});
}
"<a " . $thumbs . " href=\"" . $url . "\" class=\"download\" rel=\"files/" . $dir . "/" . $file . "\" title=\"" . $alt . "\" image=\"".$url_thumb."\" > </a>"
$(function() {
var screenshot = $("<p id='screenshot'><img src='data:image/jpg;base64,"
+ data + "' alt='Atsisiusti' /></p>").hide()
.appendTo('body');
var img = $('img', screenshot);
$('.download[image]').hover(function(e) {
$.get($(this).attr('image'), function(data) {
img.attr('src', 'data:image/jpg;base64,'
+ data);
});
img.removeAttr('src');
screenshot.css({
'top' : (e.pageY - xOffset) + 'px',
'left' : (e.pageX + yOffset) + 'px'
}).fadeIn("fast");
}, function() {
screenshot.hide();
}).mousemove(function(e) {
screenshot.css({
'top' : (e.pageY - xOffset) + 'px',
'left' : (e.pageX + yOffset) + 'px'
})
});
})