在 JavaScript 中突出显示图像的一部分

发布于 2024-08-14 07:07:59 字数 127 浏览 9 评论 0原文

我运行一个小网页,允许用户使用图像映射单击各种链接。我想突出显示用户单击的部分,以便向用户提供一些反馈(他们可能会快速单击几个不同的部分)。

有没有办法可以反转(或以其他方式突出显示)图像 JavaScript 的一小部分?

I run a small webpage that allows users to click on various links using image maps. I'd like to highlight the section that a user clicks on to give some feedback to the user (they may be clicking on several different parts rapidly).

Is there a way I can invert (or otherwise highlight) a small section of an image JavaScript?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

三寸金莲 2024-08-21 07:07:59

您可以尝试以下 CSS 方法,而不是使用图像映射:

在每个“图像映射”部分(链接)顶部使用透明的

,然后使用 CSS : hide 伪类来处理突出显示。

CSS:

#image { 
    position: relative; 
    width: 400px;
    height: 100px; 
    background-image: url(image_map.png); 
}

#map-part { 
    position: absolute; 
    top: 10px; 
    left: 10px; 
    width: 50px; 
    height: 50px; 
    background-color: transparent;  
}   

#map-part:hover { 
    background-color: yellow;           /* Yellow Highlight On Hover */
    opacity: 0.2;
    filter: alpha(opacity=20);      
}

HTML:

<div id="image">
    <a id="map-part" href="http://www.example.com/"></a>
</div>

请注意,这仅适用于矩形链接。

Instead of using image maps, you could try this CSS method:

Use a transparent <div> on top of each "image-map" part (link), and then use the CSS :hover pseudo-class to handle the highlighting.

CSS:

#image { 
    position: relative; 
    width: 400px;
    height: 100px; 
    background-image: url(image_map.png); 
}

#map-part { 
    position: absolute; 
    top: 10px; 
    left: 10px; 
    width: 50px; 
    height: 50px; 
    background-color: transparent;  
}   

#map-part:hover { 
    background-color: yellow;           /* Yellow Highlight On Hover */
    opacity: 0.2;
    filter: alpha(opacity=20);      
}

HTML:

<div id="image">
    <a id="map-part" href="http://www.example.com/"></a>
</div>

Note that this will only work for rectangular links.

喜爱纠缠 2024-08-21 07:07:59

看看 jQuery MapHilight
我不确定它是否完全满足您的需要,但您可以通过细微的调整来实现这一目标。

Take a look at jQuery MapHilight.
I'm not sure it does exactly what you need, but you can achieve that with minor tweaking.

橘寄 2024-08-21 07:07:59

如何在点击区域上覆盖一个半透明的

块以突出显示它?

How about overlaying a semi-transparent <DIV> block over the clicked area to highlight it?

柠北森屋 2024-08-21 07:07:59

有很多方法,

以广告时尚的方式,将您的图像分解为许多较小的部分,然后使用表格将它们组合起来。之后,通过使用javascript替换“src”属性来实现高亮效果。

另一种CSS方式,使用CSS来剪辑alt。图像位于原件之上,并控制哪个区域应该可见。

最好为所有人提供一个图像,而不是许多小图像,这样可以加快速度,并且用户可以通过网络立即获得它。

There are many way,

In a d fashion way, break down your images into many smaller pieces and using table to combine them. After that, by using javascript to replace thr "src" attribute for the highlight effect.

In another CSS way, use CSS to clip the alt. image on top of the original, and control which area should be visible.

It is better to have a single image for all rather then many small images to speed up and user will get it without delay by network.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文