javascript - Onload函数不断向数组添加内容而不清除它

标签 javascript jquery

可能是个愚蠢的问题。我的 jsp 中有以下 js 代码。问题是,虽然我尝试在每次加载时清除数组 ma​​rkerLong,markerLat ,但它并没有清除它们,而是在刷新页面时继续附加元素。

<script>


// Gmaps Maps
// ------------------------------

$(window).on("load", function(){
// Map Markers
    // ------------------------------

    map = new GMaps({
        div: '#markers',
        lat: 18.520430,
        lng: 73.856743,
        styles: [{"featureType":"administrative.locality","elementType":"all","stylers":[{"hue":"#2c2e33"},{"saturation":7},{"lightness":19},{"visibility":"on"}]},{"featureType":"landscape","elementType":"all","stylers":[{"hue":"#ffffff"},{"saturation":-100},{"lightness":100},{"visibility":"simplified"}]},{"featureType":"poi","elementType":"all","stylers":[{"hue":"#ffffff"},{"saturation":-100},{"lightness":100},{"visibility":"off"}]},{"featureType":"road","elementType":"geometry","stylers":[{"hue":"#bbc0c4"},{"saturation":-93},{"lightness":31},{"visibility":"simplified"}]},{"featureType":"road","elementType":"labels","stylers":[{"hue":"#bbc0c4"},{"saturation":-93},{"lightness":31},{"visibility":"on"}]},{"featureType":"road.arterial","elementType":"labels","stylers":[{"hue":"#bbc0c4"},{"saturation":-93},{"lightness":-2},{"visibility":"simplified"}]},{"featureType":"road.local","elementType":"geometry","stylers":[{"hue":"#e9ebed"},{"saturation":-90},{"lightness":-8},{"visibility":"simplified"}]},{"featureType":"transit","elementType":"all","stylers":[{"hue":"#e9ebed"},{"saturation":10},{"lightness":69},{"visibility":"on"}]},{"featureType":"water","elementType":"all","stylers":[{"hue":"#e9ebed"},{"saturation":-78},{"lightness":67},{"visibility":"simplified"}]}]
    });
    let markerLat,markerLong; 
    markerLat = [
        <c:forEach var="s" items="${list}">
            <c:out value="${s.currentLat}"/>,
        </c:forEach>
    ];
    markerLong = [
      <c:forEach var="s" items="${list}">
          <c:out value="${s.currentLong}"/>,
      </c:forEach>
    ];
      console.log(markerLong.length);
      console.log(markerLat.length);


markerLong=[];
markerLat=[];
});
</script>

如何确保在每次页面刷新时,旧条目都会从数组中删除。

最佳答案

您可以尝试在页面加载后立即调用下面的函数。

function empty(){
markerLong.length = 0;
markerLat.length = 0
}

关于javascript - Onload函数不断向数组添加内容而不清除它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56201389/

相关文章:

javascript - 使用 javascript 在 DIV 中添加 <p> 元素

javascript - Onclick 事件不适用于单选按钮

javascript - 如何使用 Jquery 识别在变量中单击的表单提交按钮

javascript - 加载时的 jQuery UI DateRangePicker startDate 和 endDate

jquery - 如何通过jquery获取当前输入字段索引

javascript - 错误 : Timed out waiting for Protractor to synchronize with the page after 11001ms. “当用户 browser.getCurrentUrl()

javascript - Hook useState 在不应该记录状态时记录状态。包含示例代码盒

javascript - 多次点击div不会刷新: Only refreshes once

javascript - 如何在 asp.net 中使用 javascript 在 Azure BLOB 存储上上传期间压缩视频?

javascript - Ajax 调用 Web 服务 - 方法成功但禁止数据访问