我有一个地图应用程序,它使用 jQuery 在单击按钮时显示/隐藏一些地图控件。现在,除了一个 - pan_zoom 控件之外,所有控件都可以正常工作。地图控件的 html 元素与一些内联样式一起动态添加:
<div class="pan_zoom" style="display: block; top: 4px">pan zoom button</div>
pan_zoom 控件在加载地图时隐藏:
$('.pan_zoom').hide();
单击按钮后,将调用包含以下行的函数:
$('.pan_zoom').toggle();
此功能在第一次单击时隐藏 pan_zoom 控件。但是,它没有在下次单击时显示控件。
我再次测试了上面的内容,没有在初始化时隐藏 pan_zoom 控件。这一次,切换对元素没有影响。
阻止切换功能正常工作的可能原因是什么?
请注意,我没有为此元素设置任何 CSS 显示属性,我可以通过将切换功能替换为以下内容来解决此问题:
if($('.pan_zoom').css('display') == 'block')
{
$('.pan_zoom').hide();
}
else
{
$('.pan_zoom').show();
}
我更感兴趣的是找出为什么toggle()
不能正常工作。
点击处理程序是:
$('button[name="expand_map"]').click(toggleMap);
function toggleMap() {
....
$('.pan_zoom, .and_other_controls').toggle();
}