Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript onmouseover和jquery函数工作不正常_Javascript_Jquery_Html - Fatal编程技术网

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'
            })
    });

})