09/10/2018, 23:38

Xin chỉ cách làm loading (đang tải) cách nào

Chào các bạn, mình có thắc mắc là muốn làm cái hình loading - chờ đợi tải xuống như kiểu trang tuổi trẻ và trang quangcaosanpham họ làm bằng cách nào?

Mình có làm bằng cách bỏ hình vào <DIV> rồi khi nào xong thì mình giấu cái <DIV> đó đi nhưng thỉnh thoảng nó chạy nhảy tùm lum hết. Ai biết cách làm cái đó xin chỉ dùm.

Cảm ơn nhiều.
khuongCOMPUTER viết 01:52 ngày 10/10/2018
Cho cái DIV của nội dung chính ẩn đi, khi nào load xong hết thì cho nó hiện ra, đỡ bị nhảy lung tung.
dan_mien_que viết 01:45 ngày 10/10/2018
Cám ơn bạn trả lời, vậy là cần có 2 cái <DIV> một cái có vòng tròn quay quay (animation) và một <DIV> có nội dung chính khi nào loading xong thì cho cái loading DIV ẩn đi và cho cái có nội dung chính hiện ra đúng không?

Không biết có được không? mình sẽ thử cách bạn nói xem sao?

Còn bạn nào có cách nào khác nữa không?
fanitvn viết 01:45 ngày 10/10/2018
cho ẩn nội dung chính còn tum lun hơn, có thể để timeout = script khi bắt đầu hiện div, như vậy trường hợp load chậm hoặc bị đứt, timeout vẫn tự tắt phần load.
khunglongbeo viết 01:38 ngày 10/10/2018
Nếu bạn dùng .NET 2.0 thì lên trang của mình tại www.dichvucongdong.com/sharevicode search trong mục tìm kiếm của lưới dữ liệu với từ loading page sẽ có 1 video clip mình quay hướng dẫn cách tạo trang chờ real-time.

Thân !
fanitvn viết 01:44 ngày 10/10/2018
ah bác nào cho em giải pháp làm loading toàn bộ trang bao gồm cả các request khác như images và kô bao gồm stream media ? :d
dan_mien_que viết 01:45 ngày 10/10/2018
Cám ơn các bạn đã trả lời, mình có vào xem video của khonglongbeo, video coi không được rõ, hình bị méo mó không coi rõ lắm, mình cũng biết là làm page loading người ta dùng javascript và <DIV> nhưng mình khong dùng ASP.NET có ai có thí dụ cụ thể hoặc biết trang nào có hương dẫn thì chỉ dùm.

Khonglongbeo bị ngắn lưỡi hay sao mà phát âm mấy chữ Javascript, client side không được và dùng nhiều term bằng tiếng việt mà tui không hiểu là cái gì. Nhưng cám ơn ông bạn đã có video cho xem!
sub viết 01:51 ngày 10/10/2018
Dán nguyên cái này vào đầu trang (trich từ templatemonster)
-------------------------------------------------------------
<SCRIPT type=text/javascript>
var t_id = setInterval(animate,20);
var pos=0;
var dir=2;
var len=0;
function animate()
{
var elem = document.getElementById('progress');
if(elem != null) {
if (pos==0) len += dir;
if (len>32 || pos>79) pos += dir;
if (pos>79) len -= dir;
if (pos>79 && len==0) pos=0;
elem.style.left = pos;
elem.style.width = len;
}
}
function remove_loading() {
this.clearInterval(t_id);
var targelem = document.getElementById('loader_container');
targelem.style.display='none';
targelem.style.visibility='hidden';
}
</SCRIPT>

<STYLE type=text/css>
#interface1 {Z-INDEX: 1}
#loader_container {WIDTH: 100%; POSITION: absolute; TOP: 40%; TEXT-ALIGN: center}
#loader {BORDER-RIGHT: #6a6a6a 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: #6a6a6a 1px solid; DISPLAY: block; PADDING-LEFT: 0px; FONT-SIZE: 11px; Z-INDEX: 2; PADDING-BOTTOM: 16px; MARGIN: 0px auto; BORDER-LEFT: #6a6a6a 1px solid; WIDTH: 130px; COLOR: #000000; PADDING-TOP: 10px; BORDER-BOTTOM: #6a6a6a 1px solid; FONT-FAMILY: Tahoma, Helvetica, sans; BACKGROUND-COLOR: #ffffff; TEXT-ALIGN: left}
#progress {FONT-SIZE: 1px; LEFT: 0px; WIDTH: 1px; POSITION: relative; TOP: 1px; HEIGHT: 5px; BACKGROUND-COLOR: #7B79C7}
#loader_bg {FONT-SIZE: 1px; LEFT: 8px; WIDTH: 113px; POSITION: relative; TOP: 8px; HEIGHT: 7px; BACKGROUND-COLOR: #ebebe4}
</STYLE>
<DIV id=loader_container>
<DIV id=loader>
<DIV align=center id=contentload>Please wait...</DIV>
<DIV id=loader_bg>
<DIV id=progress></DIV></DIV></DIV></DIV>
<DIV id=interface1 style="DISPLAY: inline; VISIBILITY: visible">
<DIV style="LEFT: 1px; VISIBILITY: hidden; POSITION: absolute; TOP: 1px"></DIV>
<DIV style="DISPLAY: none; LEFT: 0px; POSITION: absolute; TOP: 0px">
</DIV>
---------------------------------------------------------------------
dan_mien_que viết 01:43 ngày 10/10/2018
Xin gửi lời cám ơn nhiều đến các bạn đã vào đây xem hoặc đã tham gia trả lời câu hỏi của mình. Nhưng mà bạn có thể cho mình biết cái template nào của TemplateMonster để mình tìm và thử coi nó xem sao.

Hiện tại thì mình chỉ biết dùng javascript và <DIV> nhưng kết quả không được như ý mình muốn. Đang tìm hiểu thì được biết Ajax là solution cho vấn đề này. Cũng dùng javascript và <DIV> và Ajax có thêm :
- Onreadystatechange với readystate==4 và status==200 là cái mình đang muốn thử.

Mong các bạn góp ý thêm hoặc có code gửi lên đây thì more than welcome!
khunglongbeo viết 01:48 ngày 10/10/2018
Quote Được gửi bởi dan_mien_que View Post
Cám ơn các bạn đã trả lời, mình có vào xem video của khonglongbeo, video coi không được rõ, hình bị méo mó không coi rõ lắm, mình cũng biết là làm page loading người ta dùng javascript và <DIV> nhưng mình khong dùng ASP.NET có ai có thí dụ cụ thể hoặc biết trang nào có hương dẫn thì chỉ dùm.

Khonglongbeo bị ngắn lưỡi hay sao mà phát âm mấy chữ Javascript, client side không được và dùng nhiều term bằng tiếng việt mà tui không hiểu là cái gì. Nhưng cám ơn ông bạn đã có video cho xem!
Bạn chỉ việc nhấn double chuột là xem fullscreen, sao lại không rõ. Ai bắt bạn xem chế độ nhỏ xíu đâu. Giọng mỗi miền mỗi khác, còn nói người ta bị ngắn lưỡi. Nhờ người khác chỉ giúp mà nói năng chả suy nghĩ chút nào ! Bó tay với mấy chú thế này !

Giải pháp tốt nhất cho you có lẽ là search trên google mấy cái control có sẵn có lẽ phù hợp với you hơn đấy !

À, cái Ajax ở trên mà you bảo góp ý thì tui cũng chả tiếc mà nói rằng. Nó không hiệu quả đâu, đặc biệt là khi dùng ở các browser khác nhau ! cụ thể, IE nó trả về reponseText với kiểu khác, trong khi FF nó lại trả kiểu khác. Nội you xử lí cái vụ này không thôi cũng đủ để you phờ râu rồi. Nếu muốn thì nên dùng tìm hiểu và dùng Callback thì tốt hơn ! Tạo luôn control từ class cho nó sinh ra, lúc đó phát sinh thêm biến cố mỗi lần control nó load. Lúc này mới quay lại xử lí cái vụ hiệu ứng tải các hình, text,... Còn cụ thể thế nào, thi thôi, tui chả dám nói, kẻo lại bị bảo là ... ngắn cái gì nữa thì khổ.
Bài liên quan
0