Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.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图像调整窗口大小_Javascript_Image Resizing_Mousemove_Css - Fatal编程技术网

javascript图像调整窗口大小

javascript图像调整窗口大小,javascript,image-resizing,mousemove,css,Javascript,Image Resizing,Mousemove,Css,我为我的网站开发的JavaScript有问题。我有一些图像,在它们上方悬停时打开 首先,我的脚本计算图像应显示在窗口的右侧还是左侧: $("html,body").live("mousemove", function (e) { //console.log("mousemove: "+e.pageX) var width_window = $(window).width(); var center = width_window / 2; if (e.pageX

我为我的网站开发的JavaScript有问题。我有一些图像,在它们上方悬停时打开

首先,我的脚本计算图像应显示在窗口的右侧还是左侧:

$("html,body").live("mousemove", function (e) {
    //console.log("mousemove: "+e.pageX)  
    var width_window = $(window).width();
    var center = width_window / 2;
    if (e.pageX < center) {
        side = 'left';
    } else {
        side = 'right';
    }
});
它几乎可以工作,但有时我的图像会超过窗口的宽度或高度。我找不到解决办法

这是我的CSS:

.vignette {
        max-height: 800px;
        max-width : 800px;
        z-index : 2;
        top : 25px;
}

.info{
    position : relative;
}

.info img {
    position : absolute;
    display : none;
    cursor : pointer;
}
我在JSFIDLE中的完整脚本:

以下是我的网站链接:


非常感谢你的帮助

您是否注意到您正在将图像向下移动25px

.vignette {
    top : 25px;
}
我看到的唯一高度调整是20px

var image_resize_height = window_height - img_top - 20;
您可能只需要在计算中再减去几个像素

或者更好:

var img_top = $(img).offset().top;
可以是偏移区域的顶部,而不是图像的原始顶部。在这种情况下,你仍然需要减去25像素

(来自您的网站)另一个可能有用的方法是始终启用或禁用右侧的垂直滚动条。或者,当文本区域不是滚动条时,将文本区域的大小重新调整为小于可用区域。(不幸的是,我根本无法让您的JSFIDLE工作,我能看到的唯一错误是垂直计算错误。我看不到任何水平错误。)

如果从高度上再减去几个像素,问题还会继续吗

我不能从你的代码中分辨出来,但是,它是否会放置图像然后重新调整大小?在尝试放置图像之前,最好先计算可用的大小,这样图像放置后就不会改变大小

编辑:


在看了你的小窗口网页后,我想到了另外一件事$(窗口).height()$(文档).height()不同。请参阅:如果剩余页面不相同,您可能需要以不同方式计算它们。

谢谢Abaines,我已经在代码中做了一些更正,我需要检查$(window).height()和$(document).height()。谢谢你的帮助,我会让你知道的
var img_top = $(img).offset().top;