试图将可移动div之外的所有东西都弄黑

时间:2012-09-06 18:55:37

标签: javascript jquery css

我写了一个悬停缩放插件,我试图找出如何使悬停缩放框外的所有内容变暗,并使缩放框本身透明,但是我很难弄清楚我需要什么为它做。我使用不透明度吗?我是否使用背景图片?

现在它只是在黑色不透明度bg上显示白色.5不透明度,但是我有点想要弄明白这一点。任何建议都会非常有用。

我正在尝试做什么:

enter image description here

演示:jsfiddle

1 个答案:

答案 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中执行此操作。