我写了一个悬停缩放插件,我试图找出如何使悬停缩放框外的所有内容变暗,并使缩放框本身透明,但是我很难弄清楚我需要什么为它做。我使用不透明度吗?我是否使用背景图片?
现在它只是在黑色不透明度bg上显示白色.5不透明度,但是我有点想要弄明白这一点。任何建议都会非常有用。
我正在尝试做什么:
演示:jsfiddle
答案 0 :(得分:4)
以下是解决方案的示例,但它需要您进行一些更改。
如果您将缩放方块设置为使背景图像与基础图像相同,并将其背景位置调整为css,使其相对于原始图像的位置为负...我是否正确解释了这一点?< / p>
http://jsfiddle.net/moopet/Be9AA/
重要的部分是
var left = Math.min(Math.max(relX - 100, 0), $origImg.width() - $zoomBox.width()),
top = Math.min(Math.max(relY - 100, 0), $origImg.height() - $zoomBox.height());
$zoomBox.css({
left: left,
top: top
});
$zoomBox.css({ backgroundPosition: (-left) + "px " + (-top) + "px" });
我已经在CSS中为小提琴设置了缩放元素的背景,但如果您需要为多个图像执行此操作,则只需复制src
属性即可在JS中执行此操作。