Tạo một đồng hồ bấm giờ

  • Home
  • Forum
  • Tự Học HTML
  • Tự Học Javascript
  • Tự Học PHP

MỞ ĐẦU

  • Mở đầu về Javascript
  • Cú pháp JS
  • Các kiểu giá trị JS - P1
  • Các kiểu giá trị JS - P2
  • JS Phép toán - câu lệnh gán
  • JS Cách đặt tên biến
  • Function - hàm JS
  • JS Thủ tục vào ra đơn giản
  • javascript Event
  • các hàm JS sẽ dùng trong các ví dụ
  • Một số hàm JS khác
  • JS Comment - chú thích

CẤU TRÚC RẼ NHÁNH

  • Js câu lệnh IF
  • JS - ELSE...IF

CẤU TRÚC LẶP

  • Các vòng lặp js
  • break - dùng vòng lặp js

MẢNG

  • Mảng trong Javascript
  • Tại sao cần dùng mảng
  • Làm việc với mảng
  • JS Mảng 2 chiều
  • Mảng dựng sẵn

JS FUNCTION - HÀM

  • Tự soạn thảo các hàm
  • Hàm và các tham số
  • Biến toàn cục và biến cục bộ
  • Javascript function return - Giá trị trả về

FORM

  • Nói về các dấu chấm
  • JS làm việc với FORM
  • Nhận + thiết lập thông tin
  • Kiểm tra Text,password,textarea
  • Kiểm tra Select Element
  • Kiểm tra các nút Radio
  • Xử lý chuỗi

WINDOW

  • Mở cửa sổ mới
  • Đóng cửa sổ
  • Di chuyễn cửa sổ
  • Địa chỉ cửa sổ

FRAMES

  • Javascript và Frame
  • Ví dụ về frame và js

HẸN GIỜ

  • setTimeout - Định giờ cho sự kiện
  • clearTimeout - Ngưng hẹn giờ
  • Tạo một đồng hồ bấm giờ

LINH TINH KHÁC

  • Date, Time
  • JavaScript getElementById
  • JavaScript innerHTML
  • JavaScript Void 0
  • Vấn đề với trình duyệt

COOKIES

  • Cookies là gì?
  • Thiết lập Cookie
  • Đọc cookies

Tạo một đồng hồ bấm giờ

xxTạo một đồng hồ bấm giờ
Tháng Sáu 22, 2009, 03:26:41 PM gửi bởi nvcnvn
Nếu ta muốn làm một đồng hồ bấm gờ, khi bấm chạt thì bắt đầu đếm, khi bấm ngưng thì ngừng lại thì làm thế nào nhỉ. Dĩ nhiên là cần tới setTimeout và clearTimeout vì đang nằm trong laot5 bài về chúng mà  =)).

Cụ thể thì làm thế nào nhỉ, đồng hồ bấn giờ cứ mỗi giây tăng lên 1, vậy thì có nghĩ là phải gọi một hàm setTimeout thực hiện một hàm tăng lên 1, sau đó là phải làm sau cho hàm setTimeout chạy liên tục cứ sau mỗi 1 giây.

Trong đầu bạn chắc hẵn sẽ hiện ra ý tưởng về một vòng lặp, đó cũng là nhưng gì mình nghĩ tới đầu tiên. Đáng buồn thay:
Mã nguồn: [Chọn]
<script type="text/javascript">
function thongbao()
{
alert("Thêm 3 giây nữa đả trôi qua");
}
i=0;
while(i<10)
{
setTimeout("thongbao();",3000);
i=i+1;
}
</script>
Mình viết đoạn code này với suy nghĩ, cứ mỗi lần các c\vòng lặp chạy, nó sẽ gọi hàm setTimeout, đợi 3 giây rồi chạy tiếp. Mọi thứ tan vỡ  =(( khi mình chạy thử, sau khi đợi 3 giây thì cả 10 hộp cacnh3 báo hiện ra  -/ , câu trả lời là vì:
Vòng lặp chỉ gọi hàm setTimeout chứ không đợi nó, đối với tốc dộ khinh hồn của vòng lặp, 10 lần sẽ trôi qua ngay như cùng một lúc, và bạn chỉ vừa tắt hộp cacnh3 báo thứ nhất thì 9 hộp kia đã xuất hiện. Không thể nào giảm tốc độ của một vòng lặp được!

Vậy hãy thử nhìn vào hướng khác, nhìn rộng và xa ra, châu Mỷ chẵn hạn :)) OAo, một hàm tự gọi lại chính nó rong một khoảng thời gian. Đó là cách giải quyết:
Mã nguồn: [Chọn]
function thongbao()
{
alert("Thêm 3 giây nữa đả trôi qua");
setTimeout("thongbao();",3000);
}
Lần đầu tiên thì hơi bị trục trặc, xuất hiện ngay bảng thông báo nếu bạn chạy hàm, nhưng những lần su thì trơn tru, đúng kết hoạch. Ta có thể sửa lỗi này bằng cách dùng một lần hàm setTimeout bên ngoài hàm, ngoại hàm này, sau lần đầu tiên hàm setTimeour đó sẽ ngưng hoạt động, và hàm bắt đầu gọi hàm setTimeout của riêng nó.

và đây là đồng hồ bấm giờ của chúng ta:
Mã nguồn: [Chọn]
<script type="text/javascript">
function baogio()
{
num=document.the_form.kq.value;
num=eval(num)+1;
document.the_form.kq.value=num;
hengio=setTimeout("baogio();",1000);
}
</script>
<form name="the_form">
<input type="text" name="kq" value="0" /><br />
<input type="button" value="Bắt đầu" onclick="baogio();" />
<input type="button" value="Dừng" onclick="clearTimeout(hengio);" />
</form>

Hãy thử chạy code nhé :X




http://hocvui.net mang lại cho bạn những kiến thức cơ bản nhất!
Viết một nhật xét mới

Danh Sách Các Bài Trả Lời:

Trang: [1] 2

xx Re: Tạo một đồng hồ bấm giờ
Trả lời bài này 1: Tháng Tám 29, 2011, 10:17:00 PM gửi bởi fish72
thế bạn cho mình biết cần dùng những ngôn ngữ nào để làm đc ko??

xx Re: Tạo một đồng hồ bấm giờ
Trả lời bài này 2: Tháng Tám 29, 2011, 10:22:07 PM gửi bởi fish72
cái mình muốn làm thì giống như cái phần "đánh giá lyric" của zingmp3 ấy

xx Re: Tạo một đồng hồ bấm giờ
Trả lời bài này 3: Tháng Tám 30, 2011, 08:05:30 AM gửi bởi nvcnvn
Với yêu cầu đó ít nhất bạn phải học thêm 1 ngôn ngữ nữa. đó là 1 ngôn ngữ động như PHP chẳn hạn.
Mời bạn tham khảo
hocvui.net/php
http://hocvui.net/4rum/tim-toi-php/

xx Re: Tạo một đồng hồ bấm giờ
Trả lời bài này 4: Tháng Chín 01, 2011, 09:56:29 AM gửi bởi fish72
mình cũng học đc chút ít về php rồi. bạn hướng dẫn mình làm nhé.(mình cài hết localhost rồi)

xx Re: Tạo một đồng hồ bấm giờ
Trả lời bài này 5: Tháng Chín 02, 2011, 05:24:02 PM gửi bởi nvcnvn
Bạn có thể mô tả thêm cho mình về "ý đồ" của bạn không?
Cụ thể bạn làm 1 trang như thế nào?
À mà bạn có thể làm việc với sql chưa?

xx Re: Tạo một đồng hồ bấm giờ
Trả lời bài này 6: Tháng Chín 03, 2011, 09:59:33 AM gửi bởi fish72
sax. lại còn phải học mysql nữa ah. :((còn cái mình muốn làm thì giống kiểu tính điểm cho các thành viên trong diễn đàn ấy.

xx Re: Tạo một đồng hồ bấm giờ
Trả lời bài này 7: Tháng Chín 03, 2011, 10:33:28 AM gửi bởi nvcnvn
Trích dẫn của: fish72 vào Tháng Chín 03, 2011, 09:59:33 AM
sax. lại còn phải học mysql nữa ah. :((còn cái mình muốn làm thì giống kiểu tính điểm cho các thành viên trong diễn đàn ấy.
CŨng không hẳn là phải cần SQL...
Vấn đề của bạn cần là làm sao để click vào + điểm và số điểm không bị mất đi.
Cái này ta hiểu đơn giản như là khi viết chữ, phải save lại thành file thì ngày hôm sau mở lên mới còn.
nói chung là cũng không đơn giản đâu bạn à....
mà bạn cho mình hỏi, bạn muốn chức năng này chỉ có trên 1 trang hay là trên nhiều trang!?
ý mình hỏi là. Ví dụ bạn có 3 trang html với 3 bài nhạc và 1 hệ thống nút Like
web-cua-ban.com/bai-nhac-1.html
web-cua-ban.com/bai-nhac-2.html
web-cua-ban.com/bai-nhac-3.html

mình cần biết bạn định làm cụ thể như thế nào....ở trang nào, tính năng nào, cách bố trí các trang.....

xx Re: Tạo một đồng hồ bấm giờ
Trả lời bài này 8: Tháng Chín 03, 2011, 01:35:59 PM gửi bởi fish72
bh mình có loạt các trang bài hát khác nhau. ở mỗi trang có 1 bài hát và kèm theo nút đánh giá kết quả( đương nhiên số like ở mỗi bài sẽ khác nhau rồi). và  mình muốn bộ đánh giá có 1 nút +1 và 1 nút-1

xx Re: Tạo một đồng hồ bấm giờ
Trả lời bài này 9: Tháng Chín 05, 2011, 01:32:56 PM gửi bởi fish72
bạn làm đến đâu rồi

xx Re: Tạo một đồng hồ bấm giờ
Trả lời bài này 10: Tháng Chín 23, 2011, 01:56:17 PM gửi bởi quangthai_itdlu
<script type="text/javascript">
function baogio()
{
num=document.the_form.kq.value;
num=eval(num)+1;
document.the_form.kq.value=num;
hengio=setTimeout("baogio();",1000);
}
</script>
<form name="the_form">
<input type="text" name="kq" value="0" /><br />
<input type="button" value="Bắt đầu" onclick="baogio();" />
<input type="button" value="Dừng" onclick="clearTimeout(hengio);" />
</form>

Nếu click vào button chay nhiều lần thì đồng hồ sẽ chạy rất nhanh bạn ơi?????
Trang: [1] 2
 
Information Technology News|| Download driver and more|| SMF cho người Việt
|| game avatar || nông trại vui vẻ
Thích hợp với các trình dyệt:
Firefox - Opera - Google Chrome