0

我正在构建时间线/地图。这是一张顶部有滑块的地图;当您拖动滑块时,地图上会显示不同的图标,可以单击这些图标来启用模式弹出窗口(它还会在地图上显示叠加层)。它可以创造奇迹,看起来很漂亮,除了一件事:加载时,一切都会显示。如何将其默认为地图上的第一个日期作为唯一显示的图标和重叠?

代码如下,但我对代码并不多,无法弄清楚我做错了什么:

有一个像这样的 500 个 ID 的列表

var popups = [ {id:"cultarg1969a", start:1969, end:1969},

然后是这个:

 $(document).ready(function() {
  $("#slider").slider({
    min: 1491,
    max: 2020,
    step: 1,
    value: 1491,
  });


$( "#slider" ).bind( "slide", function(event, ui) {
    $(".category1,.category2,.category3,.category4,.category5,.iso").hide();
 $("#yearIndicator").text(ui.value);            
        for (var index=0;index<popups.length;index++) {
        var popup = popups[index];
        if (ui.value >= popup.start && ui.value <= popup.end) {
    $("#" + popup.id).show();
    }
} 
});

  $("#0").addClass("selected");

}); 

我只想在页面加载时显示 1491 年的项目。我究竟做错了什么?谢谢你。

4

1 回答 1

0

我的猜测是,您可能希望 popups 数组中的每个元素最初都被隐藏,这很容易通过display: none在它们的初始 CSS 中完成。该.show()调用应display在显示该属性时覆盖该属性。

于 2012-12-19T03:50:43.463 回答