Javascript imagemap上的Imageflip,但保留地图坐标
我有一张相当复杂的图像地图,上面有几个映射区域。 大多数映射区域仅映射鼠标盖和链接。但是有些区域有一个Javascript imagemap上的Imageflip,但保留地图坐标,javascript,html,dom,Javascript,Html,Dom,我有一张相当复杂的图像地图,上面有几个映射区域。 大多数映射区域仅映射鼠标盖和链接。但是有些区域有一个JS onClick(),这会导致imageflip。新的翻转图像基本上是旧图像,上面有一些“新东西” 有两件事需要发生,我想不出来: 新形象需要保持在那里。现在发生的是,一旦我将鼠标移出映射区域,它就会返回到旧图像 我需要imagemap(旧图像的)来处理新图像,它出现在翻页上 JAVASCRIPT //PRELOAD IMAGES FOR CLICK AND MOUSEOVER cuenta
JS onClick()
,这会导致imageflip。新的翻转图像基本上是旧图像,上面有一些“新东西”
有两件事需要发生,我想不出来:
//PRELOAD IMAGES FOR CLICK AND MOUSEOVER
cuentaBoca = new Image(655, 338)
cuentaBoca.src = "imagenes_png/pag2/cuentame_bocadilla.png";
cuenta = new Image(655, 338)
cuenta.src = "imagenes_png/pag2/cuentame_h.png";
//JS FUNCTION FOR CLICK
function bocadillaC() {
document.getElementById('garfio').src = cuentaBoca.src;
}
//JS FUNCTION FOR MOUSEOVER
function cuentaH() {
document.getElementById('garfio').src = cuenta.src;
return true;
}
HTML
<!-- INSERT THE PICTURE -->
<img name="garfio" id="garfio" src="imagenes_png/pag2/base.png" width="655" height="338" border="0" usemap="#m_garfio" alt="" />
<!-- CREATE THE MAP -->
<map name="m_garfio" id="m_garfio">
<area shape="poly" id="bocadilla" coords="7,205,12,197,20,191,24,189,34,185,45,182,58,180,74,180,86,180,94,181,103,182,112,185,114,186,130,178,135,177,137,179,134,184,130,192,135,195,138,199,142,204,143,209,138,218,125,227,113,231,100,235,86,236,70,236,53,235,41,233,34,231,23,226,15,221,11,217,8,212,7,205"
onMouseOver="cuentaH()" onClick="bocadillaC(); return false" alt="" />
</map>
</div>
单击“Cuentame”(气球)具有onClick()
效果尝试在单击时重新定义原始
函数
您需要用图像重新定义其他函数。但是,举例来说,对于州政府来说,并没有类似的黄云图像
但事实上,你需要使用HTML/CSS的强大功能,不要在每种情况下都绘制图像,如果没有图像映射,就更简单了。这就是你想要的。将显示两个图像。当我将鼠标滚动到上面的图像上时,下面的图像会发生变化,并且不会向后变化。图像vane2.jpg和vane2.png是镜像
<html>
<head>
<script type="text/javascript">
function setimage () {
document.getElementById('hisArea').src = "vane2.png";
}
</script>
</head>
<body>
<img id="myArea" onMouseOver="setimage();" width="176" height="176" src="vane1.jpg">
<BR>
<img id="hisArea" width="176" height="176" src="vane2.jpg">
</body>
</html>
函数setimage(){
document.getElementById('hisArea').src=“vane2.png”;
}
请举例说明@dizel3d刚刚意识到了这一点,很抱歉添加了它。您仍然没有在MouseOver上发布函数cuentaH()
。我尝试了一个简单的JS测试来改变helloworld的背景颜色
并且在鼠标离开滚动区域后,它保持为新颜色。我是通过document.getElementById('myArea').style.backgroundColor=“blue”实现的
@WeatherVane添加了cuentaH()
的功能。我如何用预加载的图像而不是颜色来替换它?我想这就是…().src
的作用?谢谢,但是您的函数使用的是id“garfio”,而带有onMouseOver
和onClick
的HTML部分的id是“bocadilla”。如果我的标题导致混淆,我很抱歉。我不想翻转或旋转图像。在clickevent或鼠标悬停时触发imageflip。我需要新的图像出现在点击是永久的,与工作图像mapok,我已经取代我的答案。这是你想要的吗?我很难理解为什么你在让它简单工作之前就构建了这么大的JSFIDLE。我不明白的是我应该如何重新定义其他函数。现在,当我进入另一个映射区域时,它将返回到原始图片。不要介意通过预加载图像和加载区域来扩大示例。编写一个包含一个或两个区域的简单程序,并使其在尽可能最简单的情况下工作。这里的人为什么要单步执行这些代码?但是当你这么做的时候,你可能已经回答了你的问题。
<html>
<head>
<script type="text/javascript">
function setimage () {
document.getElementById('hisArea').src = "vane2.png";
}
</script>
</head>
<body>
<img id="myArea" onMouseOver="setimage();" width="176" height="176" src="vane1.jpg">
<BR>
<img id="hisArea" width="176" height="176" src="vane2.jpg">
</body>
</html>