创建一个切换按钮,在图层打开和图层关闭时改变文本
Create a toggle button that changes text when layer is on and when layers is off
我已经创建了这个代码,它创建了一个切换按钮,可以在传单中打开和关闭图层。打开和关闭图层很好。但我还希望切换按钮中的文本能够改变。当一个图层在传单地图上时,它必须说:"图层",当地图上没有图层时,它需要说:"图层关闭"。我试着实现
$(this).text(function(i, text){
return text == 'Layer off';
});
和
$(this).text(function(i, text){
return text == 'Layer on';
});
但是它在按钮中返回文本"false"。下面是我使用的函数:
$("#layerControl").click(function(event) {
layerClicked = window[event.target.value];
if (map.hasLayer(layerClicked)) {
map.removeLayer(layerClicked);
$(this).text(function(i, text) {
return text == 'Layer off';
});
} else {
map.addLayer(layerClicked);
$(this).text(function(i, text) {
return text == 'Layer on';
});
}
});
编辑
我正试图在选择列表中进行更改后再次启动该函数。这是我现在的代码,但它还没有工作:
$('#slctListValue').change(function ()
{
$("#layerControl").click(function( event ) {
layerClicked = window[event.target.value];
if (map.hasLayer(layerClicked)) {
map.removeLayer(layerClicked);
$(this).text('Layer Off');
}
else{
map.addLayer(layerClicked);
$(this).text('Layer On');
} ;
});
});
我建议根据当前文本内容有条件地返回字符串值,而不是返回布尔值。
下面,我使用一个三元操作符来确定新的文本。
$('button').on('click', function() {
$('#output').text(function(i, text) {
return text == 'Layer off' ? 'Layer on' : 'Layer off';
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button type="button">CLICK ME</button>
<div id="output">Layer off</div>
编辑:
然而,看看你的代码的精神和意图,我可能只是根据图层是否显示设置适当的文本。两个单独的条件可能会使事情复杂化,并引入意想不到的行为。
$("#layerControl").click(function(event) {
layerClicked = window[event.target.value];
if (map.hasLayer(layerClicked)) {
map.removeLayer(layerClicked);
$(this).text('Layer Off');
} else {
map.addLayer(layerClicked);
$(this).text('Layer On');
}
});
试试这个
text == 'Layer off'; // not-work!
text = 'Layer off'; // work!
相关文章:
- 更改图层中单个矢量特征的图标
- 谷歌地图热图图层点半径
- 谷歌地图-更改图层图标大小
- 如何通过ID获取图层对象
- 如何更改圆环图中文本的颜色
- CS5隐藏图层的速度非常慢
- 开放图层导出为 KML 并保留我的地图样式
- 传单问题:使折线的图层组不可单击
- 将图层添加到另一个图层
- 图层删除(图像);在 Kinetic.js 中不起作用
- HTML5 Canvas 的初学者,使用图层
- 如何在“控制缩放”下的“打开图层”上添加一些图像
- OpenLayers:自动将 EPSG 4326 - 文本图层的坐标转换为地图的投影 (EPSG:900913)
- 底图参考图层(文本)忽略选择更改时的不透明度
- Photoshop 脚本 - 如何在一种历史记录状态下创建文本图层
- 区分多个字体在同一文本图层
- 添加和转换图层的图像和文本,如Photoshop fx
- Photoshop 脚本:更改文本图层的文本
- Javascript Photoshop:用于更改现有文本图层的文本颜色的语法
- 创建一个切换按钮,在图层打开和图层关闭时改变文本