javascript图像调整窗口大小
我为我的网站开发的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
$("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;