$(document).on("click", ".searchbutton", function(e){
var city = $("#searchbar").val()
event.preventDefault();
setInterval(function(){
var hdate = new Date()
var offset = 0 - hdate.getTimezoneOffset()/60
var hmin = hdate.getMinutes()
var hsec = hdate.getSeconds()
var diff = Math.round(Long/15) - offset
if((hdate.getHours() + diff) > 23){
disphour = (hdate.getHours() + diff) - 24
var formattedNumberh = ("0" + disphour).slice(-2)
$("#hour").text(formattedNumberh)
}
else if((hdate.getHours() + diff) < 0){
disphour = 24 + (hdate.getHours() + diff)
var formattedNumberh = ("0" + disphour).slice(-2)
$("#hour").text(formattedNumberh)
}
else{
disphour = hdate.getHours() + diff
var formattedNumberh = ("0" + disphour).slice(-2)
$("#hour").text(formattedNumberh)
}
var formattedNumberm = ("0" + hmin).slice(-2)
var formattedNumbers = ("0" + hsec).slice(-2)
$("#minute").text(formattedNumberm)
$("#second").text(formattedNumbers)
}, 1000)
})
当城市名称输入到输入字段中并按下按钮时,执行此功能;它显示那个城市的时间。
当我刷新页面后在输入栏中输入一个城市时,效果很好。然而,当我紧接着输入另一个城市时,显示的小时在前一个城市的小时和新城市的小时之间波动。
我不知道是什么问题。
1条答案
按热度按时间qni6mghb1#
你永远不会清除间隔。所以每次“搜索”都会创建一个新的间隔,并且每个间隔都会继续运行并做它被告知要做的事情。
例如,您可以跟踪变量中的“当前间隔”,并在创建新间隔之前使用该变量清除该间隔: