我正在使用传单插件easybutton.js,我添加了2个按钮,但是我想在不同点更改它们的背景颜色,但我似乎无法完全到达那里。添加它们时,我可以更改背景颜色,但是效果只有在单击后才能生效,而且我也希望能够在不同点更改背景颜色。
https://github.com/CliffCloud/Leaflet.EasyButton
这样添加按钮
L.easyButton('<img src="img/myimage.jpg">', function(btn, map){
btn.button.style.backgroundColor = 'yellow';
var destination = [newlat, newlng];
map.setView(destination);
}).addTo(map);
L.easyButton('<img src="img/myimage2.jpg">', function(btn, map){
btn.button.style.backgroundColor = 'red';
var destination = [52.450439,-1.729660];
map.setView(destination);
}).addTo(map);
如您所见,这会更改背景色,但仅在单击时会更改背景色,如果以后要更改其中任何一个,该怎么做?我必须给他们一个身份证或其他东西吗?
答案 0 :(得分:0)
将按钮对象保存在全局变量中,以便以后使用。...
var btn1;
var btn2;
L.easyButton('<img src="img/myimage.jpg">', function(btn, map){
btn1 = btn;
btn.button.style.backgroundColor = 'yellow';
var destination = [newlat, newlng];
map.setView(destination);
}).addTo(map);
L.easyButton('<img src="img/myimage2.jpg">', function(btn, map){
btn2 = btn;
btn.button.style.backgroundColor = 'red';
var destination = [52.450439,-1.729660];
map.setView(destination);
}).addTo(map);
当您要以编程方式更改颜色时,在代码中的其他地方:
btn1.button.style.backgroundColor = 'blue';
btn2.button.style.backgroundColor = 'green';