Javascript jQuery向量映射中的切换函数
如何在jQuery向量映射中实现切换功能 我的要求是:如果用户选择了任何区域,它应该用颜色高亮显示。 如果用户单击同一区域,它将变为旧状态(无颜色或默认状态) 我可以使用JS和jQuery实现这一点,或者我需要任何其他插件帮助 任何想法、建议和指导都将受到高度赞赏。谢谢 示例代码:Javascript jQuery向量映射中的切换函数,javascript,jquery,html,css,Javascript,Jquery,Html,Css,如何在jQuery向量映射中实现切换功能 我的要求是:如果用户选择了任何区域,它应该用颜色高亮显示。 如果用户单击同一区域,它将变为旧状态(无颜色或默认状态) 我可以使用JS和jQuery实现这一点,或者我需要任何其他插件帮助 任何想法、建议和指导都将受到高度赞赏。谢谢 示例代码: jQuery(文档).ready(函数(){ jQuery(“#vmap”).vectorMap({ 地图:“美国”, enableZoom:true, showTooltip:true, //选定区域:“MO”
jQuery(文档).ready(函数(){
jQuery(“#vmap”).vectorMap({
地图:“美国”,
enableZoom:true,
showTooltip:true,
//选定区域:“MO”
onRegionClick:函数(事件、代码、区域)
{
/*var消息='您选择了''
+区域
+'其中包含代码:'
+code.toUpperCase()
//警报(信息);
$('#选定位置').html(消息)*/
var ul=$(“#所选位置”);
var list=ul.children('li');
var-isInList=false;
对于(变量i=0;i').html(region).appendTo(ul);
$('ul').children('li').on('dblclick',function())
{
//警报(“选定的列表项将从列表中删除…”)
$(this.remove();
});
}
});
创建一个CSS类以突出显示,然后使用JS或jQuery切换
CSS突出显示类:
.highlighted {
-webkit-box-shadow: 0 0 8px #FFD700;
-moz-box-shadow: 0 0 8px #FFD700;
box-shadow: 0 0 8px #FFD700;
cursor:pointer;
}
jQuery切换
$(document).ready(function(){
$('#text').click(function(){
$(this).toggleClass('highlighted');
});
});
来自Codecademy的示例:创建一个CSS类以突出显示,然后使用JS或jQuery切换 CSS突出显示类:
.highlighted {
-webkit-box-shadow: 0 0 8px #FFD700;
-moz-box-shadow: 0 0 8px #FFD700;
box-shadow: 0 0 8px #FFD700;
cursor:pointer;
}
jQuery切换
$(document).ready(function(){
$('#text').click(function(){
$(this).toggleClass('highlighted');
});
});
示例摘自Codecademy:您可以通过将属性
颜色
指定给选定区域来完成此操作。例如,要使california蓝色,您可以编写如下内容
var highlight = {colors: {ca : '#0000ff'}}
要从时钟回调设置颜色属性,可以调用
onRegionClick: function(element, code, region) {
$('#vmap').vectorMap('set', 'colors', highlight);
}
要切换颜色,您可以添加一个if开关,该开关只检查元素是否设置了突出显示颜色。您还可以使用该开关在列表中添加/删除区域
$(document).ready(function() {
highlight = {};
$('#vmap').vectorMap({
map: 'usa_en',
enableZoom: true,
showTooltip: true,
color: '#f4f3f0',
onRegionClick: function(element, code, region) {
if(highlight[code]!=='#0000ff'){
highlight[code]='#0000ff';
$('<li id=\"li_'+code+'\"></li>').html(region).appendTo($('#location-selected'));
} else {
highlight[code]='#f4f3f0';
$('#li_'+code).remove();
}
$('#vmap').vectorMap('set', 'colors', highlight);
},
onRegionOut: function(element, code, region){
$('#vmap').vectorMap('set', 'colors', highlight);
},
});
});
$(文档).ready(函数(){
突出显示={};
$('#vmap').vectorMap({
地图:“美国”,
enableZoom:true,
showTooltip:true,
颜色:'#f4f3f0',
onRegionClick:函数(元素、代码、区域){
如果(突出显示[代码]!='#0000ff'){
突出显示[代码]='#0000ff';
$('li id=\'li\'+code+'\'>').html(region.appendTo($('location selected'));
}否则{
突出显示[代码]='#f4f3f0';
$('#li'+代码).remove();
}
$(#vmap').vectoramap('set','colors',highlight);
},
onRegionOut:函数(元素、代码、区域){
$(#vmap').vectoramap('set','colors',highlight);
},
});
});
为了快速说明,我还将其放在JSFIDLE上:
要使其正常工作,您还需要在
onRegionOut
中设置颜色,您可以通过将属性colors
指定给所选区域来实现这一点。例如,要使california blue变为蓝色,您可以编写如下内容
var highlight = {colors: {ca : '#0000ff'}}
要从时钟回调设置颜色属性,可以调用
onRegionClick: function(element, code, region) {
$('#vmap').vectorMap('set', 'colors', highlight);
}
要切换颜色,您可以添加一个if开关,该开关只检查元素是否设置了突出显示颜色。您还可以使用该开关在列表中添加/删除区域
$(document).ready(function() {
highlight = {};
$('#vmap').vectorMap({
map: 'usa_en',
enableZoom: true,
showTooltip: true,
color: '#f4f3f0',
onRegionClick: function(element, code, region) {
if(highlight[code]!=='#0000ff'){
highlight[code]='#0000ff';
$('<li id=\"li_'+code+'\"></li>').html(region).appendTo($('#location-selected'));
} else {
highlight[code]='#f4f3f0';
$('#li_'+code).remove();
}
$('#vmap').vectorMap('set', 'colors', highlight);
},
onRegionOut: function(element, code, region){
$('#vmap').vectorMap('set', 'colors', highlight);
},
});
});
$(文档).ready(函数(){
突出显示={};
$('#vmap').vectorMap({
地图:“美国”,
enableZoom:true,
showTooltip:true,
颜色:'#f4f3f0',
onRegionClick:函数(元素、代码、区域){
如果(突出显示[代码]!='#0000ff'){
突出显示[代码]='#0000ff';
$('li id=\'li\'+code+'\'>').html(region.appendTo($('location selected'));
}否则{
突出显示[代码]='#f4f3f0';
$('#li'+代码).remove();
}
$(#vmap').vectoramap('set','colors',highlight);
},
onRegionOut:函数(元素、代码、区域){
$(#vmap').vectoramap('set','colors',highlight);
},
});
});
为了快速说明,我还将其放在JSFIDLE上:
为了让它正常工作,你需要在
onRegionOut
中设置颜色,谢谢你的回答。我在这个例子中得到了它。但是我不知道我在单击什么元素,因为它是jQuery向量映射。所以我有点困惑如何继续…你能给我们发一些示例代码吗?更好的是,放在JSFiddle中。人们会更愿意g如果你让他们更容易,他们会帮助你。:)是的,我放了一些示例代码..你可以得到我想要的…谢谢你的回复。我得到了这个示例。但是我不知道我点击的是什么元素,因为它的jQuery向量映射..所以我有点困惑如何继续…你能给我们发一些示例代码吗?更好,放在JSFIDLE中。人们会更愿意帮助你u如果你让他们更容易的话。:)是的,我放了一些示例代码。。你可以得到我想要的…嗨,Martin Turjak,谢谢你的回答,功能部分工作正常,但颜色高亮显示没有发生。酷,我很高兴它对你有效=)然后你可以通过在下面勾选来接受我的答案投票箭头…我这么说是因为你似乎是新来的