【问题标题】:Add time stamp for hover in Leaflet map?在传单地图中添加悬停时间戳?
【发布时间】:2021-05-28 08:37:00
【问题描述】:

我正在使用 Leaflet 将地图插入 Qualtrics。对于我的一个标记,我设置了它,以便 (1) 鼠标悬停时出现一个弹出窗口,并且 (2) 单击该弹出窗口继续到实验的下一页:

marker1.on('mouseover', function (e) {
      this.openPopup();
      this.getPopup()._contentNode.onclick = function () {
      document.querySelector("#NextButton").click();
      Qualtrics.SurveyEngine.setEmbeddedData("home", "one");
     };
    });

是否也可以使用嵌入数据来记录鼠标悬停时的时间戳?如果有,怎么做?

【问题讨论】:

    标签: javascript timestamp leaflet qualtrics


    【解决方案1】:

    使用函数获取new Date()。当不提供参数时,新创建的 Date 对象表示截至实例化时的当前日期和时间。然后您可以使用getDay()getMonth()getHours()getMinutes() 等获取您希望的参数...返回您的时间戳,然后您可以在事件侦听器mouseover 中调用该函数。

    不确定您希望如何进一步保存它...

    const getTimeStamp = () => {
      let d = new Date();
      let hours = d.getHours();
      let meridian;
      if (hours > 12) {
        hours = hours - 12;
        meridian = 'PM';
      }else{
        meridian = 'AM';
      }
      let time = `${hours}:${d.getMinutes()}:${d.getSeconds()} ${meridian}`;
      let day = d.getDate();
      let month = d.getMonth() + 1; // Since getMonth() returns month from 0-11 not 1-12
      let year = d.getFullYear();
      let timeStamp = `${month}/${day}/${year} - ${time}`;
      return timeStamp;
    }
    
    let marker1 = document.getElementById('marker1')
    
    marker1.addEventListener('mouseover', function(e) {
      console.log(getTimeStamp())
      //  this.openPopup();
      //  this.getPopup()._contentNode.onclick = function() {
      //    document.querySelector("#NextButton").click();
      //    Qualtrics.SurveyEngine.setEmbeddedData("home", "one");
      //  };
    });
    <buttton id="marker1">Marker</div>

    【讨论】:

      猜你喜欢
      • 2015-02-11
      • 2022-09-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-08
      • 1970-01-01
      • 2021-10-20
      • 2016-12-14
      相关资源
      最近更新 更多