当前位置: 首页 > 知识库问答 >
问题:

JavaScript调用点击事件的另一个函数

湛玄裳
2023-03-14

我写了一个名为formatAMPM的函数来查找当前时间。我想调用这个函数,当我点击名为按钮的对象。但是我没有成功。

我想根据这里的结果更新文本框的值

function formatAMPM(date) {
  var hours = date.getHours();
  var minutes = date.getMinutes();
  var ampm = hours >= 12 ? 'pm' : 'am';
  hours = hours % 12;
  hours = hours ? hours : 12;
  minutes = minutes < 10 ? '0' + minutes : minutes;
  var strTime = hours + ':' + minutes + ' ' + ampm;
  return strTime;
}

var input = document.getElementById('dateTimeRange');
var buttonfifteenMins = document.getElementById('fifteenMins');

buttonfifteenMins.onclick = function() {
  input.value = formatAMPM(new Date);
};
<input type="text" id="dateTimeRange" />
<button type="button" id="fifteenMins">15 min</button>

共有1个答案

贺景铄
2023-03-14

也许你是这个意思?

我添加了一个偏移量的按钮和显示日期(否则为什么有一天,一周和一个月?)

const pad = num => String(num).padStart(2, "0");
const aMin = 60 * 1000;
const offsets = {
  "fifteenMins":    15 * aMin,
  "anHour":         60 * aMin,
  "fourHours":  4 * 60 * aMin,
  "aDay":      24 * 60 * aMin,
  "aWeek": 7 * 24 * 60 * aMin
}

function formatAMPM(date, offset) {
  if (offset) date.setTime(date.getTime() + offset)
  let hours = date.getHours();
  let minutes = date.getMinutes();
  var ampm = hours >= 12 ? 'pm' : 'am';
  hours = hours % 12;
  hours = hours ? hours : 12;
  return  `${pad(date.getMonth() + 1)}/${pad(date.getDate())}/${date.getFullYear()} @ ${hours}:${pad(minutes)} ${ampm}`;
}


var input = document.getElementById('dateTimeRange');
var buttonfifteenMins = document.getElementById('fifteenMins');
var buttonanHour = document.getElementById('anHour');
var buttonfourHours = document.getElementById('fourHours');
var buttonaDay = document.getElementById('aDay');
var buttonaWeek = document.getElementById('aWeek');
var buttonaMonth = document.getElementById('aMonth');

document.getElementById("offsetDiv").addEventListener("click", function(e) {
  const tgt = e.target;
  console.log(tgt.id)
  const key = tgt.id;
  const d = new Date();
  let offset = offsets[key];
  if (key === "aMonth") {
    d.setMonth(d.getMonth() + 1)
    offset = 0;
  }
  input.value = formatAMPM(d, offset);
});
<input type="text" id="dateTimeRange" />
<div id="offsetDiv">
  <button type="button" id="fifteenMins">15 min</button>
  <button type="button" id="anHour">1 hour</button>
  <button type="button" id="fourHours">4 hours</button>
  <button type="button" id="aDay">1 day</button>
  <button type="button" id="aWeek">A week</button>
  <button type="button" id="aMonth">A month</button>
</div>
 类似资料:
  • 问题内容: 我想调用一个在second.js文件的first.js文件中定义的函数。这两个文件都在HTML文件中定义,例如: 我想打电话给在定义中。根据我的搜索结果,答案是首先定义是否可以,但是根据我的测试,我没有找到任何方法。 这是我的代码: 问题答案: 除非在同一文件中定义了该函数,或者在尝试调用该函数之前已加载了该函数,否则无法调用该函数。 除非函数的范围与尝试调用该函数的范围相同或更大,否

  • 我定义了一个名为marger的函数来查找两个参数(num1、num2)之间的较大数。现在,我想在另一个名为“最大”的函数中使用这个函数,这个函数获得一个数组并返回该数组的最大个数,但我被卡住了。有人能帮我吗?下面是我的代码:

  • 点击事件不生效啊!!我该怎么办,大神们 不会写

  • 我正在创建一个应用程序,它有一个开始按钮(类StartButton),我希望该按钮调用另一个类(类NewRide)的方法,但是我如何从另一个文件调用void函数呢? 这是New Ride类,它具有我想在按下开始按钮时调用的空函数。

  • 问题内容: 设置:我需要在程序中使用的每个功能都有一个文件。 在此程序中,我需要从外部文件调用该函数。 我试过了: 但是我得到了错误: ImportError:没有名为“ file.py”的模块;文件不是包 我该如何解决这个问题? 问题答案: 导入时无需添加任何内容。只需编写,然后使用调用函数。之所以可能不起作用,是因为它是Python的核心模块之一,所以我建议你更改文件名。 请注意,如果你尝试将

  • 问题内容: 抱歉,我确定一个基本问题,但似乎无法弄清楚。 说我有这个程序,文件名为: 如何在另一个程序中调用它?我试过了: 而不是“ hello world”,我得到了……过去我通过将第一个文件设为类来做到这一点,但我想知道如何正确导入该函数?如果有帮助,我会在我的真实文件中打印字典 问题答案: 您需要打印调用函数的结果,而不是函数本身: 另外,您可以省略子句,而不是: 如果更方便,也可以使用: