jQuery:鼠标悬停使图像可见,具有相同的最后4个数字在他们的id作为触发器
jQuery: mouseover makes image visible that has the same last 4 numbers in their id as the trigger
我目前正在做一个网站,遇到了以下问题:
在网站上,我有小点(图像),id为"dot0001","dot0002","dot0003"等。我也有隐藏图像(可见性:隐藏)与id"info0001","info00002","info0003",等。
我正在寻找一个jQuery解决方案。我需要的是一个允许以下事件的代码:
当用户将鼠标移动到"dot0001"上时,图像"info0001"变为可见,当他们离开"dot0001"时,图像"info0001"再次变为不可见。同样适用于"dot0002"-"info0002","dot0003"-"info0003"等。因此,只有具有相应4位数的信息图像才可见。
我给了它无尽的尝试,但没有得到任何地方,甚至没有一个点粘贴我的代码。
感谢任何帮助!
这样应该可以工作(虽然没有测试):
$('[id^="dot"]').on({
mouseenter: function(e) {
var infoId = this.id.replace('dot', 'info');
$('#' + infoId).show();
},
mouseleave: function(e) {
var infoId = this.id.replace('dot', 'info');
$('#' + infoId).hide();
}
});
使用attribute-starts-with
选择器选择所有以"dot"开头的id
元素,然后将事件处理程序绑定到它们。事件处理函数本身只是简单地将id
的"dot"部分替换为"info"以形成正确的新元素,然后根据需要显示或隐藏元素。
不要忘记将该代码包装在DOM ready
事件处理程序中,以便在元素实际存在时执行,否则它将无法工作。
获取id以"dot"开头的所有元素,并在鼠标悬停/出时显示/隐藏相关的"info":
$("[id^=dot]").hover(
function(){
$("#info" + this.id.substring(3)).css({"visibility":"visible"});
},
function(){
$("#info" + this.id.substring(3)).css({"visibility":"hidden"});
}
);
http://jsfiddle.net/EGBnR/相关文章:
- 如何在这里将两个值最低的数字相加
- 正则表达式与数字中的第二个点匹配
- 可以't将几个数字设置为<输入类型=“;数字“>
- 正好包含2个大写字母和3个数字的正则表达式
- 使用正则表达式匹配长度为六个字符的字母数字字符串
- 如何限制一个字段只接受4个数字字符作为输入,并获得'It’这是潜水警报
- 计算HTML表TD中两个数字之间的百分比
- 如何使用 JavaScript 将两个数字相加
- 创建具有2个唯一数字的Javascript数组
- 如何使用至少一个数字、一个大写字母和6-20个字符验证密码
- 用于添加两个数字的javascript闭包的用法
- 通过变量在两个数字之间切换
- 在数字字符串的最后两个数字上加上小数
- 在HTML/JavaScript中减去两个数字
- 删除第一个数字块之后的所有数字
- PHP函数识别3个数字中最低的一个并更改其类
- 将文本字段限制为三个数字
- 如何创建一个确定2个数字之间值的函数
- 用于获取两个方括号之间的数字的正则表达式
- 在列之间平分一个数字.12个糖果,10个人.2个人每人得到2个糖果,剩下的人得到1个