라이브 피드를 표시하고 livestamp + 순간을 사용하여 Stackoverflow가 메시지에 수행하는 것과 비슷한 형식으로 시간을 업데이트하는 작은 애플리케이션으로 이동했습니다.사용자 정의 형식이 적용되지 않습니다.
이제 다른 형식으로 24 시간이 지난 것을 보여주기 위해 약간 변경하고 싶습니다. 불행
I found this thread which was exactly what I was looking for
내 경우에는 작동하지 않습니다 내 요소의 예는 다음과 같다 : 물론
<div id="container">
<div something else>
</div>
<div id="feed">
<div class="timestamp" title="Less than 1 minute ago">7 minutes ago</div>
</div>
</div>
위 내 피드이기 때문에 livestamp이 그것을 수정 한 이후 jquery/ajax로 동적으로 추가되었습니다.
그래서 위의 고려 나는 다음과 같이 해당 코드를 변경 : 그러나 때문에 내 .timestamp이 동적으로 (내가 믿는) 추가되는에,$('.timestamp').on('change.livestamp', function(event, from, to)
{
event.preventDefault(); // Stop the text from changing automatically
// Get the original timestamp out of the event
var originalTS = event.timeStamp;
// Make a new moment object to compare the timestamp to
var newDate = moment();
// Use moment's .diff method to get the ms difference between timestamps
var delta = newDate.diff(originalTS);
// If the difference is less than a day's worth of ms
if (delta < 86400000){
// Use formatted text provided by the change event
console.log("if: " + newDate.format("dddd M/D/YYYY"));
$(this).html(to);
}
else {
// Format the moment object with whatever moment format you want
console.log("Else: " + newDate.format("dddd M/D/YYYY"));
$(this).html(newDate.format("dddd M/D/YYYY"));
}
}).livestamp();
그리고 내 $(document).ready(function()
내부를 추가, onchange를 트리거하지 않습니다.
대신 #container
을 사용하면 트리거되며, 수동으로 업데이트하기 위해 모든 항목을 반복해야한다고 가정하고 타임 스탬프가 1 개의 항목에만 존재하기 때문에 문제가 있습니다. (항목 당 아닙니다)이 경우, 따라서 livestamp가 첫 번째 반복 후에 제거하는 타임 스탬프를 알 수 없습니다.
이 시나리오의 제안 된 코드 에서처럼 동적 요소를 올바르게 인식하고 요소 당 onchange를 수행 할 수있는 방법이 있습니까? 또는 나는 무엇인가 내려다보고 있냐?
아니면 livestamp.js에서 직접 맞춤식 서식을 설정할 수 있습니까? 같은
뭔가 : 당신이 livestamp 코드의 in line 59시피
var newDate = moment();
var delta = newDate.diff(to);
if (delta >= 86400000)
{
to = to.format("dddd M/D/YYYY");
}
그게 흥미 롭 네요.하지만 지난 dddd를 제외하고 나는 어제 HH : mm도 가지고 있습니다. 거기에서도 가능합니까? 그리고 내가 한 일보다 훨씬 쉬운 대답에 감사드립니다. – Prix
''어제 ''를 커스터마이징하기 위해'relativeTime'의 하나의'd' 키를 사용할 수 있습니다 만,'HH : mm' 부분을 포함하여 출력을 얻기가 쉽지 않을까 걱정됩니다. 어쨌든 아마도 이러한 [1] (http://stackoverflow.com/q/42216583/), [2] (http://stackoverflow.com/q/41508796/), [3] (http://stackoverflow.com/q/38367038 /) 상대 시간 맞춤화에 대한 추가 사례를 제공하는 질문에 도움이 될 수 있습니다. – VincenzoC
VincenzoC 위의 코드를 작성하고 나에게 설명하고 추가 정보를 추가하는 데 많은 시간을 할애 해 주셔서 감사 드리며 원하는 모든 정보를 제공 할 수있었습니다. 코어 파일 및 추가 사용자 지정을 잃게;) 여기에 궁금해하는 경우에 내가 내려 온 무엇입니까 https://jsfiddle.net/7d6bfLwg/1/ – Prix