2017-01-13 23 views
5

Xin chào tôi là người mới bắt đầu trong lập trình Javascript.Cách đo thời gian trôi qua trên Javascript?

Tôi đã tạo một trò chơi đơn giản mà người dùng cần nhấp vào hộp. Trò chơi kết thúc khi người dùng kết thúc nhấp vào 16 hộp.

Tôi muốn đo thời gian đã trôi qua để người dùng hoàn thành trò chơi. Tôi làm cách nào để sử dụng Javascript?

Chỉnh sửa: Tôi phải rõ ràng hơn. Tôi có thuật toán trong đầu. Tôi đã thực hiện nghiên cứu của mình. Tôi đã xem xét các câu trả lời khác nhau. Nhưng chúng không hữu ích vì chúng cho thấy mã riêng của chúng mà tôi đã có thời gian khó hiểu.

hẹn giờ bắt đầu: Khi người dùng nhấp vào hộp đầu tiên

hẹn giờ End: Khi người dùng nhấp vào ô cuối cùng

Cảm ơn bạn.

+0

Lưu thời gian bằng mili giây khi người dùng đã bắt đầu sau đó ở cuối trừ một với người kia để có thời gian trôi qua tính bằng mili giây. Tôi cho phép bạn làm một ít nghiên cứu bởi vì bạn dường như không làm được nhiều hơn nữa – AxelH

+0

Bản sao tiếp theo: http://stackoverflow.com/questions/313893/how-to-measure-time-taken-by-a- function-to-execute – icc97

Trả lời

20

Nhấp vào nút bắt đầu, sau đó nhấp vào nút kết thúc. Nó sẽ cho bạn thấy số giây giữa 2 lần nhấp chuột.

Khác biệt mili giây là biến số timeDiff. Chơi với nó để tìm giây/phút/giờ/những gì bạn cần

var startTime, endTime; 
 

 
function start() { 
 
    startTime = new Date(); 
 
}; 
 

 
function end() { 
 
    endTime = new Date(); 
 
    var timeDiff = endTime - startTime; //in ms 
 
    // strip the ms 
 
    timeDiff /= 1000; 
 

 
    // get seconds 
 
    var seconds = Math.round(timeDiff); 
 
    console.log(seconds + " seconds"); 
 
}
<button onclick="start()">Start</button> 
 

 
<button onclick="end()">End</button>

+2

Tại sao mọi người lại downvote cái này? Đó là một câu trả lời tuyệt vời –

+0

Cảm ơn bạn đã trả lời tốt bụng! Rất rất rõ ràng và dễ hiểu! Tôi sẽ chơi với điều này để áp dụng cho mã của tôi! – Leonard

+1

@Leonard Đừng quên chấp nhận câu trả lời – Weedoze

0
var seconds = 0; 
setInterval(function() { 
    seconds++; 
}, 1000); 

Có bạn đi, bây giờ bạn có một giây đếm biến trôi qua. Vì tôi không biết ngữ cảnh, bạn sẽ phải quyết định xem bạn có muốn gắn biến đó vào một đối tượng hay biến nó thành toàn cục hay không.

Khoảng thời gian thiết lập chỉ đơn giản là một hàm lấy hàm làm tham số đầu tiên và một số mili giây để lặp lại hàm làm tham số thứ hai.

Bạn cũng có thể giải quyết vấn đề này bằng cách lưu và so sánh thời gian.

+0

Cảm ơn bạn đã giải thích loại của bạn. Tôi đã học được một cách khác để đo thời gian :) – Leonard

Các vấn đề liên quan