使图像的某个部分亮起
Have a certain part of an image light up?
我正在尝试制作一个交互式图表,用户可以在其中单击"输出",相关的输出将在图表上亮起。
我一直在寻找一种用css或js实现这一点的方法,但真的找不到一种让它发挥作用的方法。我已经考虑过使用背景位置来实现这一点的图像精灵,但我认为图像文件会太大,如果这是我必须做的。
有没有其他方法可以达到我所错过的效果?任何正确的方向都将不胜感激!
谢谢你的帮助!:-)
我建议您存储一张需要为每个名称突出显示的图像区域的地图,并在选择时围绕地图边界绘制,或者可能更改地图区域内或地图区域外所有内容的色调/饱和度。
如果你的图是由div组成的,你可以尝试这种方法:
假设用户点击这个div
<div id='inputBox' class='path1'></div>
你会希望下面的div点亮
<div id='pathToOut' class='path1'></div>
<div id='outputBox' class='path1'></div>
使用#inputBox 注册点击事件处理程序
window.addEventListener('load',function() {
document.getElementById('inputBox').onclick = lightPath;
},false);
以下lightPath
函数将处理click
事件,并扫描文档中具有类"path1"的所有元素
function lightPath() {
// get class of clicked item
var itemClass = this.className; // eg. 'path1'
// get all elements with same class
var pathElems = document.body.getElementsByClassName('path1');
// go through each element and change its border color etc..
for(var x = 0; x < pathElems.length; x++) {
pathElems[x].style.borderColor = 'orange';
}
}
在这种情况下,它只需将边框更改为橙色。你可以在这里找到一个工作示例http://jsfiddle.net/VAFWB/
相关文章:
- Html页面上的多个Base64图像和平滑加载
- 在Javascript中设置多个小图像(如旋转木马)
- 使用Javascript对象为具有两个背景图像的DIV设置样式时出现问题
- 多个背景图像,一个覆盖另一个
- JQuery-更改多个背景图像
- javascript:多个停止图像切换
- 通过javascript循环上传多个画布图像
- 将第二个背景图像添加到元素中
- jQuery 将多个动态图像集中在不同大小的容器中
- 一次两个滑动图像
- 每页多个随机图像,无需重复
- 完全填满浏览器窗口的多个列图像
- 如何将两个带有图像的画布放在彼此上
- 保存多个网址图像
- three.js-什么'这是将多个纹理/图像放在单个球体上的最佳方式
- KineticJS:具有多个单个图像的动画
- 如何使用JavaScript/jQuery更改第二个背景图像url
- 如何使用jquery打印多个条形码图像
- Bootply 79859中的“选择多个Thumnail图像”问题
- Wikitude中的多个目标图像的图像识别无法正常工作