我有一个图像(图像是建筑物的平面图),图像包含可以打开或保留的各种房间。我使用了 Imagemap 和热点来绘制房间的坐标,并且我正在处理 onclick 事件以完成我需要它们完成的事情。问题是,预订房间后如何为热点的坐标着色?我在我的数据库中跟踪保留的房间,所以知道哪个房间被保留不是问题,但问题是热点没有颜色属性。解决这个问题的最佳方法是什么?Javascript?
我知道我可以通过点击交换图像等等,但是有数百个房间,对于预订/未预订房间的每一种可能性都有这么多图像是浪费时间。
我有一个图像(图像是建筑物的平面图),图像包含可以打开或保留的各种房间。我使用了 Imagemap 和热点来绘制房间的坐标,并且我正在处理 onclick 事件以完成我需要它们完成的事情。问题是,预订房间后如何为热点的坐标着色?我在我的数据库中跟踪保留的房间,所以知道哪个房间被保留不是问题,但问题是热点没有颜色属性。解决这个问题的最佳方法是什么?Javascript?
我知道我可以通过点击交换图像等等,但是有数百个房间,对于预订/未预订房间的每一种可能性都有这么多图像是浪费时间。
您不会说 jQuery,但它肯定比从头开始更容易。jQuery插件来做到这一点:
http://www.outsharked.com/imagemapster/
您的数据库访问问题有点像红鲱鱼。加载页面时,服务器没有理由不能将所需的数据作为标记的一部分传递,例如
<script type="application/json" id="map-data">
[1,2,10,33]
</script>
.. 或任何对您有用的格式/结构/数据类型。你不必使用一个script
块 - 你可以把它放在一个 hiddendiv
中,这真的没关系。您也不必使用 JSON,这很方便。然后,您可以将该数据用作 ImageMapster 之类的输入,以突出显示所需区域。只需隐藏图像,直到您完成配置,就最终用户所见,这就是它从服务器加载的方式。
从标记中获取一些数据并使用 ImageMapster 在图像地图上设置热点的示例:
HTML5 通过画布进行程序绘图