【发布时间】:2015-03-20 15:40:24
【问题描述】:
我需要在网站上有多个圆形可点击响应图像。
我可以:
- 使用 HTML/JS/Jquery/Bootstrap/CSS 来实现这一点
图片:
圆形,有空白/透明角
鼠标悬停时切换到另一个相似的图像,鼠标离开时切换回来
页面上不止一个
当我点击它们时让我去别的地方
应该是响应式的,上面列出的效果也应该如此
我一整天都在自己尝试,但我仍然有问题;这是我的代码:
https://jsfiddle.net/83t58rbm/2 (JsFiddle)
由于我在网站上没有任何声誉,这里是一个拙劣的 URL,下面的代码也是如此,请参考 JsFiddle:
https://jsfiddle.net/83t58rbm/2/embedded/result(全屏)
$(document).ready(function() {
$("area[title='area_enfance']").mouseover(function() {
$('img[name=enfance]').attr('src', $('img[name=enfance]').attr('data-active'));
});
$("area[title='area_intimite']").mouseover(function() {
$('img[name=intimite]').attr('src', $('img[name=intimite]').attr('data-active'));
});
$("area[title='area_enfance']").mouseout(function() {
$('img[name=enfance]').attr('src', $('img[name=enfance]').attr('data-inactive'));
});
$("area[title='area_intimite']").mouseout(function() {
$('img[name=intimite]').attr('src', $('img[name=intimite]').attr('data-inactive'));
});
});
<body>
<div class="row">
<div class="col-md-6">
<map name="m_intimite">
<area shape="circle" coords="272,272,272" href="someurl" title="area_intimite">
</map>
<img name="intimite" usemap="#m_intimite" src="original-img" class="img-responsive" data-active="new-img" data-inactive="original-img" />
</div>
<div class="col-md-6">
<map name="m_enfance">
<area shape="circle" coords="272,272,272" href="otherurl" title="area_enfance">
</map>
<img name="enfance" usemap="#m_enfance" src="original-img" class="img-responsive" data-active="new-img" data-inactive="original-img" />
</div>
</div>
</script>
</html>
主要问题:
如果您在计算机浏览器上尽可能地减小全屏结果的宽度,则图像会像预期的那样缩小一点(也许它应该能够再缩小一些(?)),但当然,圆的半径(具有 mouseover/mouseout jquery 效果和要转到的 url)不会减小,因为它设置为 272,272,272 坐标,因此允许任何用户将鼠标指向空白区域,并且仍然有鼠标悬停效果和href激活。
正如您在屏幕截图中看到的那样,蓝色圆圈代表圆圈,它与顶部图像不同步,因为我在页面加载后尽可能地减小了浏览器宽度。
任何帮助将不胜感激,对于格式非常糟糕的帖子感到抱歉。
非常喜欢。
【问题讨论】:
标签: jquery image hover geometry