我根据 http://www.acuriousanimal.com/thebookofopenlayers3/chapter02_03_layer_groups.html 包含了一个图层树和 http://jsfiddle.net/joshuadickerson92/mtwbs2dg/ (JSFiddle - 由于信誉不足,无法发布超过 2 个链接)在我的 Openlayers 3 map 中。
我无法让不透明度 slider 工作。无论这些参数如何,从右向左移动它(反之亦然)对图层的不透明度完全没有影响:data-slider-min='0' data-slider-max='1' data-slider-step='0.1'
这一点
$('input.opacity').slider().on('slide', function (ev) {
var layername = $(this).closest('li').data('layerid');
var layer = findBy(map.getLayerGroup(), 'name', layername);
layer.setOpacity(ev.value);
});
在 Firefox 的调试器工具中检查页面时似乎被跳过。
我已经寻找解决方案好几天了,但仍然找不到任何东西。任何帮助表示赞赏!
JSFiddle在这里:http://jsfiddle.net/kidalex/j34xzaa3/5/
<小时/>更新:我添加了this一大块 JS 代码,现在可以运行了!在这里更新了 fiddle :http://jsfiddle.net/kidalex/j34xzaa3/5/ 现在我要调查这 8914 行(整理过的)代码中的哪一行是造成这种情况的原因。
最佳答案
尝试发布您的整个代码,以便我们可以提供更好的帮助。
您的问题很可能与 javascript 有关,而不是与 OL3 有关,因此我无法为您提供具体的解决方案。
确保您的 $('input.opacity').slider().on('slide', function (ev) {...
函数返回良好的 ev.value
当您移动 slider 时。
检查您的 findBy
函数是否正常工作,layername
变量是否获得了正确的值。
使用浏览器调试器或简单的控制台来检查所有这些。
干杯。
关于javascript - OpenLayers 3 - 图层树中的不透明度 slider 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32823479/