我正在使用这种技术来弹出缩略图的图像。唯一的问题是,如果缩略图靠近屏幕的一个边缘,并且原始图像非常大,那么它会被屏幕边缘截断。
我知道它需要 Javascript,但我不完全确定如何检测到图像在可视屏幕之外,然后将其切换到缩略图的另一侧。
我怎样才能做到这一点?
我正在使用这种技术来弹出缩略图的图像。唯一的问题是,如果缩略图靠近屏幕的一个边缘,并且原始图像非常大,那么它会被屏幕边缘截断。
我知道它需要 Javascript,但我不完全确定如何检测到图像在可视屏幕之外,然后将其切换到缩略图的另一侧。
我怎样才能做到这一点?
您需要进行一些计算,但这是可能的。使用上面的插件做这样的事情......:
$('.thumb').mouseover(function () {
if( ( $(window).width() - ($(this).siblings('.popup').position().left + $(this).siblings('.popup').width()) ) < 0) {
//Change the position here..
alert("Out of browser");
}
});
请记住,这只会告诉您图像在浏览器之外。此外,这没有考虑边距。你可能想做一些更像
$('.thumb').mouseover(function () {
if( ( $(window).width() - ($(this).siblings('.popup').position().left + $(this).siblings('.popup').width() + parseInt($(this).siblings('.popup').css("margin-left") + parseInt($(this).siblings('.popup').css("margin-right")) ) < 0) {
//Change the position here..
alert("Out of browser");
}
});
注意使用 parseInt 是因为它会返回 xxpx(xx 是数值)。parseInt 将删除它...可能有一个插件,但如果你想从头开始,这是一个好的开始。
移动图像本身是我在这里没有解决的另一个问题,但我认为这应该会给你一个坚实的开始。