用jQuery创建悬停和单击功能到SVG目录映射的精益方法
Lean method to creating hover and click functionality with to an SVG directory map with jQuery
我得到了一个包含大约30-40个清单的SVG目录映射。我已经在路径中添加了类,这些路径构成了每个位置。
这里就变得棘手了,
目标是为每个具有企业名称的清单提供工具提示悬停效果,当您单击它时,它应该带您到相应的页面。
我可以为每一个都编写jQuery,但肯定有比编写30个不同的点击规则和30多个悬停更好的方法。
编辑:以下是当前的处理:
$(".location-m1").hover(function(){
$(".directory-m1").css("display", "block");
$(".location-m1").css("opacity", ".7");
}, function(){
$(".directory-m1").css("display", "none");
$(".location-m1").css("opacity", "1");
});
https://jsfiddle.net/HeliumVideo/sepzgakr/1/你可以写一些更动态的东西,它从悬停的元素中获取classname,并使用它来访问其他元素等。
$(".location").on('mouseenter mouseleave', function(e) {
var klasses = this.getAttribute('class').trim().split(/'s+/);
var klass = klasses.filter(function(klass) {
return klass.indexOf('location-') === 0;
}).shift().split('-').pop();
var disp = e.type === 'mouseenter' ? 'block' : 'none';
var opaq = e.type === 'mouseenter' ? 0.7 : 1;
$(".directory-" + klass).css("display", disp);
$(".location-" + klass).css("opacity", opaq);
});
小提琴
相关文章:
- 在内部映射值时渲染方法中断
- 有没有一种简单的方法可以用Lodash映射嵌套数据
- Java Script将对象方法映射到数组中的对象
- 在JavaScript中搜索数组映射的最有效方法
- 操作映射触发控制器中的错误方法
- 使用过滤器映射多点数据集的最佳方法是什么
- 在 iframe 中调用保存铯映射的方法
- 使用 lodash 是将数据从数组映射到单个数组的好方法
- 如何在链接筛选和映射方法时获取筛选的索引
- 有没有一种简单/快速的方法将“data-”属性映射到大小写混合的属性名称
- Angular2 Http 请求返回没有映射方法的可观察性
- 字符串元素数组上的 Javascript 映射方法
- 余烬数据 - 适配器没有方法“映射”
- 有没有一种方法可以创建与Java<->JSON映射对象,如JSON.stringfy(jsObject)创建的
- jQuery:有没有一种通用的方法可以获得元素属性的映射
- 在node.js或JavaScript中映射数组的干净方法
- ie 7的数组映射方法错误
- 嵌套for循环和备用映射方法
- 映射方法对除最后一个数组项外的所有数组项生效
- Javascript数组映射方法回调参数