spj*_*pjy 2 javascript jquery jqvmap
我确实意识到其他 jqvMap 自定义工具提示主题已经得到回答,但是,该解决方案对我不起作用。
这是我当前用于 jQuery 的 jqvMap 代码:
jQuery(document).ready(function () {
jQuery('#vmap').vectorMap({
map: 'usa_en',
enableZoom: true,
showTooltip: true,
selectedColor: null,
hoverColor: null,
backgroundColor: '#fffff',
colors: {
fl: '#016ea1',
ma: '#016ea1',
md: '#016ea1',
wa: '#016ea1',
mn: '#016ea1',
ny: '#016ea1',
wi: '#016ea1',
hi: '#016ea1',
vt: '#016ea1',
nv: '#016ea1',
ia: '#016ea1',
ca: '#016ea1',
or: '#016ea1',
nj: '#016ea1',
},
onRegionClick: function(element, code, region)
{
window.location = 'http://google.com/' + region;
},
onLabelShow: function(event, label, code) {
if (states.toLowerCase().indexOf(code) <= -1) {
event.preventDefault();
} else if (label[0].innerHTML == "Colorado") {
label[0].innerHTML = label[0].innerHTML + " - The state where I live!!";
}
},
});
});
Run Code Online (Sandbox Code Playgroud)
我尝试在另一个主题上使用带有“onLabelShow”部分的代码,但它只会使我的工具提示整体消失。有什么解决办法吗?
谢谢!
链接:https : //github.com/manifestinteractive/jqvmap(jqvMap 文档) 自定义工具提示 JQVMap(其他主题)
如果您查看浏览器控制台,您会发现该states变量根本没有定义。如果要防止工具提示显示在不存在的状态上,则需要定义states,如果不存在,只需删除第一个 if 语句。在onLabelShow看起来应该喜欢这样的:
onLabelShow: function(event, label, code) {
states =["fl","ma","md","wa","mn","ny","wi","hi","vt","nv","ia","ca","or","nj"];
if (states.indexOf(code) <= -1) {
event.preventDefault();
} else if (label[0].innerHTML == "Florida") {
label[0].innerHTML = label[0].innerHTML + " - The state where I live!!";
}
},
});
Run Code Online (Sandbox Code Playgroud)
您可以在此处找到工作示例
希望有所帮助。
| 归档时间: |
|
| 查看次数: |
1688 次 |
| 最近记录: |