Javascript 如何在网页上找到合适的位置进行点击?
麻烦很大,但任务很简单 我有一个背景图像,上面有一朵小花。当用户按下按钮时,我需要执行一些操作。然而,根据屏幕的分辨率,花被放置在屏幕上完全不同的区域 如何将a:href的“小花”与悬停区连接起来?Javascript 如何在网页上找到合适的位置进行点击?,javascript,html,css,Javascript,Html,Css,麻烦很大,但任务很简单 我有一个背景图像,上面有一朵小花。当用户按下按钮时,我需要执行一些操作。然而,根据屏幕的分辨率,花被放置在屏幕上完全不同的区域 如何将a:href的“小花”与悬停区连接起来? <style> body { background-image: url(images/bg.jpg); } </style> <body> <div> <h1><a
<style>
body {
background-image: url(images/bg.jpg);
}
</style>
<body>
<div>
<h1><a href=#>press it where small flower is situated on an page</a></h1>
</div>
</body>
身体{
背景图片:url(images/bg.jpg);
}
让我给你举个例子。所以我需要不同的网络链接,当橙色的花被按下或蓝色的一个和白色的花三分之一不同的网络链接等。如果它是一个屏幕,我只需要将它划分为一些虚拟方块,但对于许多不同的分辨率来说,这样做绝对是垃圾:只有在图像加载到标签中时,这个答案才会起作用。 如果背景图像中有一朵小花,并且它四处移动,那么当用户通过标签单击该花时,您将无法识别。 您将需要更复杂的解决方案
您需要手动操作
<!-- Image Map Generated by http://www.image-map.net/ -->
<img src="l35x9.jpg" usemap="#image-map">
<map name="image-map">
<area target="_blank" alt="Yelow flower" title="Yelow flower" href="https://www.google.com/q=yelow+flower" coords="39,686,204,502" shape="rect">
<area target="_blank" alt="Yelow flower" title="Yelow flower" href="https://www.google.com/q=yelow+flower" coords="981,533,789,390" shape="rect">
<area target="_blank" alt="Pink+flower" title="Pink+flower" href="https://www.google.com/q=Pink+flower" coords="517,318,781,556" shape="rect">
<area target="_blank" alt="light pink flower" title="light pink flower" href="https://www.google.com/q=light+pink+flower" coords="449,438,21,278" shape="rect">
</map>
HTML区域标记
使用++
你好,世界!
三列之一
三列之一
三列之一
resolution\location无关紧要只要图像在A标签上,点击A标签时仍会触发A标签,但当前你的href不会触发任何东西
你有花图像的示例吗?您想要图像识别吗?@vppy您可以尝试获取单击的像素的颜色,我认为three.js有/有类似的功能。感谢您的支持。但不幸的是,它不起作用,因为我只需要一张图片上的几个不同的Web链接。@vppy在您更新您的问题后,我意识到我的解决方案对您不起作用。是的,这正是我要找的。然而,我如何使许多不同的屏幕在许多不同的图像上相乘呢?我的意思是,在一些屏幕上,花在一个位置上,而在另一个屏幕分辨率下,它在另一个位置上。这不重要。你必须得到鼠标相对于图像的位置,而不是相对于屏幕的位置。但是对于400x600和2048×1080,鼠标的位置是一样的吗?对你来说也是一样:)完美!此链接与我所问的任务类型相同:感谢您的支持。感谢您在此分享此解决方案!你的解决方案真的很棒。这有助于使网格非常快速。不过,我已经尝试为它添加一种响应风格,以及从花卉中迁移过来的区域。因此,看起来需要一些响应图像的额外技巧。@vppy responsive Image Map Demo-
<!DOCTYPE html>
<html>
<head>
<title>HTML area Tag</title>
</head>
<!-- Image Map Generated by http://www.image-map.net/ -->
<img src="https://i.stack.imgur.com/l35x9.jpg" usemap="#image-map">
<map name="image-map">
<area target="_blank" alt="Yelow flower" title="Yelow flower" href="https://www.google.com?q=yelow+flower" coords="39,686,204,502" shape="rect">
<area target="_blank" alt="Yelow flower" title="Yelow flower" href="https://www.google.com?q=yelow+flower" coords="981,533,789,390" shape="rect">
<area target="_blank" alt="Pink+flower" title="Pink+flower" href="https://www.google.com?q=Pink+flower" coords="517,318,781,556" shape="rect">
<area target="_blank" alt="light pink flower" title="light pink flower" href="https://www.google.com?q=light+pink+flower" coords="449,438,21,278" shape="rect">
</map>
</body>
</html>
<!doctype html>
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
<title>Hello, world!</title>
</head>
<body>
<div class="container">
<div class="row">
<div class="col-sm">
One of three columns
</div>
<div class="col-sm">
One of three columns
</div>
<div class="col-sm">
<!-- Image Map Generated by http://www.image-map.net/ -->
<img src="https://i.stack.imgur.com/l35x9.jpg" usemap="#image-map1" class="img-fluid" >
</div>
</div>
<div class="row">
<div class="col-sm">
One of three columns
</div>
<div class="col-sm">
<!-- Image Map Generated by http://www.image-map.net/ -->
<img src="https://i.stack.imgur.com/l35x9.jpg" usemap="#image-map2" class="img-fluid" >
</div>
</div>
<div class="row">
<div class="col-sm">
<!-- Image Map Generated by http://www.image-map.net/ -->
<img src="https://i.stack.imgur.com/l35x9.jpg" usemap="#image-map3" class="img-fluid" >
</div>
</div>
</div>
<map name="image-map1">
<area target="_blank" alt="Yelow flower" title="Yelow flower" href="https://www.google.com?q=yelow+flower" coords="39,686,204,502" shape="rect">
<area target="_blank" alt="Yelow flower" title="Yelow flower" href="https://www.google.com?q=yelow+flower" coords="981,533,789,390" shape="rect">
<area target="_blank" alt="Pink+flower" title="Pink+flower" href="https://www.google.com?q=Pink+flower" coords="517,318,781,556" shape="rect">
<area target="_blank" alt="light pink flower" title="light pink flower" href="https://www.google.com?q=light+pink+flower" coords="449,438,21,278" shape="rect">
</map>
<map name="image-map2">
<area target="_blank" alt="Yelow flower" title="Yelow flower" href="https://www.google.com?q=yelow+flower" coords="39,686,204,502" shape="rect">
<area target="_blank" alt="Yelow flower" title="Yelow flower" href="https://www.google.com?q=yelow+flower" coords="981,533,789,390" shape="rect">
<area target="_blank" alt="Pink+flower" title="Pink+flower" href="https://www.google.com?q=Pink+flower" coords="517,318,781,556" shape="rect">
<area target="_blank" alt="light pink flower" title="light pink flower" href="https://www.google.com?q=light+pink+flower" coords="449,438,21,278" shape="rect">
</map>
<map name="image-map3">
<area target="_blank" alt="Yelow flower" title="Yelow flower" href="https://www.google.com?q=yelow+flower" coords="39,686,204,502" shape="rect">
<area target="_blank" alt="Yelow flower" title="Yelow flower" href="https://www.google.com?q=yelow+flower" coords="981,533,789,390" shape="rect">
<area target="_blank" alt="Pink+flower" title="Pink+flower" href="https://www.google.com?q=Pink+flower" coords="517,318,781,556" shape="rect">
<area target="_blank" alt="light pink flower" title="light pink flower" href="https://www.google.com?q=light+pink+flower" coords="449,438,21,278" shape="rect">
</map>
<!-- Optional JavaScript -->
<!-- jQuery first, then Popper.js, then Bootstrap JS -->
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
<script src="https://rawgit.com/davidjbradshaw/imagemap-resizer/master/js/imageMapResizer.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('map').imageMapResize();
});
</script>
</body>
</html>
</body>
</html>