我有这段代码,点击评论按钮后附加评论。 (php通过其他功能处理)....
我想模拟每个评论是在特定时间发布的,并且一段时间后的设置间隔与每个li
appendend独立工作。
问题
在代码段中显示,如果我发布评论设置间隔与它一起显示how long time ago
它已发布(需要格式但它有想法)。
问题在于,无论何时发布新评论,设置间隔都会重新加载以前的所有时间,并显示所有评论的相同结果。
$('.comment').on('click', function(){
timeIni=$.now();
comment=$(".textarea").val();
$("#comments").append("<li data-t='"+timeIni+"'>"+comment+" <span>1s</span>"+"</li>");
$(".textarea").val("");
//adding the time to looks like
/* */ setInterval(function(){
time=$.now();
tempo="time: "+time;
$("#comments span").text(tempo);
}, 2000);
});
&#13;
textarea{
height:30px;
width:200px;
border:1px solid red;
display:block;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<ul id="comments"></ul>
<textarea class=textarea></textarea>
<input type=submit class="comment" value='comment' />
&#13;
我希望每个评论都显示自己的时间间隔,根据发布的时间。
其他尝试使用.each()
答案 0 :(得分:0)
您需要使用var,let,const等关键字声明变量,否则变量将变为全局变量。所有这些归结为一个范围问题。
let timeIni = Number($.now());