JS动态设置热区

daneen173 2008-05-18 02:06:25
已经在第一张图片上设置了若干热区

现在要求放大或缩小图片,热区比例随图片相应变化
在JS中如何实现动态设置热区 ?
另外为什么我对热区层做透明处理去还是无法看到背景层图片?
部分代码如下

//热区层
<div id="HotAreaDiv" style="z-index:1" filter:alpha(opacity=0)>
<img src="resources/A.jpg" width="800" height="560" border="0" usemap="#map" style="filter:alpha(opacity=0) z-index:1">
<map name="map" id="map" >
<area shape="poly" id="NO1Dinner" coords="210,496,10" onMouseOver="showtrail('NO1dinner')" style="border: 1px solid rgb(119,119, 119);" onMouseOut="hidetrail()">
...
<area shape=""...>
</map>
<div>
//背景图片层:该层图片为动态填充的
<div id="ImgDiv" style="z-index: 0">
</div>
...全文
923 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
joegu 2008-05-27
  • 打赏
  • 举报
回复
<div style="width:200px;filter:alpha(opacity=30);opacity: 0.5;-moz-opacity:0.5;">半透明</div>
这个div是半透明的
daneen173 2008-05-24
  • 打赏
  • 举报
回复
谢谢[Quote=引用 18 楼 zengxie 的回复:]
我写过一篇BLOG,不过我的实现是用两张图片,你可以看看
http://blog.csdn.net/zengxie/archive/2008/05/16/2450933.aspx
[/Quote]
zengxie 2008-05-21
  • 打赏
  • 举报
回复
我写过一篇BLOG,不过我的实现是用两张图片,你可以看看
http://blog.csdn.net/zengxie/archive/2008/05/16/2450933.aspx
daneen173 2008-05-21
  • 打赏
  • 举报
回复
tantaiyizu
谢谢指教
tantaiyizu 2008-05-20
  • 打赏
  • 举报
回复
<div id="mask">
<img src="img/1.jpg" border="0" usemap="#Map">
<map name="Map1" id="Map1"> //要注意这里好不好 ,你怎么能这么马虎 ,还什么dreamweaver ,dreamweaver能用来做网页吗?dreamweaver是用来做垃圾的
<area shape="circle" coords="166,225,101" href="#">
</map>
</div>
daneen173 2008-05-20
  • 打赏
  • 举报
回复
这个应该没错
下面是我用Dreamweaver图形化操作生成的
<div id="mask">
<img src="img/1.jpg" border="0" usemap="#Map">
<map name="Map">
<area shape="circle" coords="166,225,101" href="#">
</map>
</div>

用弹出窗口单步调试 似乎都没有问题 但最终就是感应不到热区 是不是存在逻辑错误
loveyunwt 2008-05-20
  • 打赏
  • 举报
回复
hotarea.setAttribute("id","Map1");
tantaiyizu 2008-05-20
  • 打赏
  • 举报
回复
hotarea.setAttribute("id","Map1");


daneen173 2008-05-20
  • 打赏
  • 举报
回复

<html >
<head>
<script type="text/javascript">
function abc(){
hotimg= document.createElement("img"); //添加图片
hotimg.src="img/1.jpg";
hotimg.usemap="#Map1";
hotimg.setAttribute("id", "himg");
document.getElementById('mask').appendChild(hotimg);

hotarea=document.createElement("map"); //添加map标签
hotarea.name="Map1";
hotarea.setAttribute("id","harea");
document.getElementById('mask').appendChild(hotarea);

area_a=document.createElement("area"); //添加热区
area_a.shape="circle";
area_a.coords="262,437,80";
area_a.href="#";
area_a.setAttribute("id", "area_1");
document.getElementById('harea').appendChild(area_a);

}
</script>
</head>
<div id="mask">
<input type="button" value="set" onclick="abc()">
</div>
</html>


大家帮我看看这段代码哪里有错 ?
tantaiyizu 2008-05-19
  • 打赏
  • 举报
回复
hehe ,when you change img's width or height then you need also change img's coords .

xiaojing7 2008-05-19
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 daneen173 的回复:]
难不成要成流帖了
[/Quote]
------------
懂的来帮帮
BlueDestiny 2008-05-19
  • 打赏
  • 举报
回复
图片缩小放大的比率=放大缩小后尺寸/之前尺寸
daneen173 2008-05-19
  • 打赏
  • 举报
回复
难不成要成流帖了
ccnu0524 2008-05-18
  • 打赏
  • 举报
回复

jf
daneen173 2008-05-18
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 hery2002 的回复:]
设置背景为transparent可以么?
还有就是background-color,background-image.
[/Quote]

似乎都不起作用
daneen173 2008-05-18
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 BlueDestiny 的回复:]
png在ie6里要用滤镜处理才能透明.热区随比例变化,可以用

用热区的坐标*图片缩小放大的比率
[/Quote]

我是在IE7下开发的
热区变化坐标已经掌握了 具体要怎么操作?
BlueDestiny 2008-05-18
  • 打赏
  • 举报
回复
png在ie6里要用滤镜处理才能透明.热区随比例变化,可以用

用热区的坐标*图片缩小放大的比率
hery2002 2008-05-18
  • 打赏
  • 举报
回复
设置背景为transparent可以么?
还有就是background-color,background-image.
daneen173 2008-05-18
  • 打赏
  • 举报
回复
把图片改为PNG和GIF格式仍然是这样 无法透明化
daneen173 2008-05-18
  • 打赏
  • 举报
回复
在线等 谢谢

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧