10/10/2018, 09:50

Cần giúp đỡ về hiệu ứng loading trog ajax

Hiện mình thấy có mấy trang web có hiệu ứng loading này rất hay nhưng ko nhớ trang nào nữa.Nhờ các bạn chỉ giúp mình nha...Code của nó đại loại hoạt động như sau:
1. Nó chạy bất kỳ một ký tự nào đó (vd như dấu chấm) và đếm tới 10 chẳng hạn sau đó nó lại biến mất và lại đếm ký tự đến 10.
2. Còn cái này nữa: ảnh loading hiện giữa màn hình và giữ nguyên vị trí đó cho dù có kéo thanh trượt đi chăng nữa. Có cách chỉnh là để position: fixe trong css nhưng mà nó chỉ có tác dụng với firefox thôi còn ie thì ko dc như vậy.Ai biết fix chỉ giáo giùm nha các bạn.
thuyduongcd viết 12:00 ngày 10/10/2018
1. Dùng hàm setTimeout hoặc setInterval để gọi 1 hàm (VD: addstring() chẳng hạn) sau 1 khoảng thời gian nhất định. Hàm addstring này có nhiệm vụ check fộ dài chuỗi (len) nếu dài 10 ký tự thì cho nó thành rỗng (rỗng cũng có nghĩa là biến mất ), ngược lại thì thêm 1 ký tự vô nữa.
2. Cái này có nhiều cách, nếu muốn modify cái code của bạn thi phải up cái code đó lên thôi.
bachcotsau viết 12:02 ngày 10/10/2018
Bạn vd cho mình xem qua được không.Mình cần đoạn code có tác dụng để tham khảo.
khanh3t viết 12:01 ngày 10/10/2018
thôi bác xin luôn đoạn code đó rồi copy sửa lại cho nhanh
bachcotsau viết 11:54 ngày 10/10/2018
Ai có đoạn code đó hay biết trang nào sử dụng code đó không link tới cho mình ,mình cảm ơn.
nobita255 viết 12:04 ngày 10/10/2018
chào bạn.Có phải bạn muốn hỏi là khi click vào một bức ảnh, thì bức ảnh đó sẽ được phóng to lên chính giữa màn hình đúng không.Nếu đúng như thế thì bạn dùng thư viện Jquery.lightbox của javascript.Nếu bạn cần bản đemo thì mail cho mình, mình gửi cho bạn kèm theo hướng dẫn.
mail của mình: buivanxuan@gmail.com
thuyduongcd viết 12:04 ngày 10/10/2018
Code:
<html>
<head>
<script type="text/javascript">
function addstring(){
var ob=document.getElementById("status_loading");
var st=ob.innerHTML;
if (st.length<10){
    st=st+"-";
}else{
    st="";
}
ob.innerHTML=st;
}
</script>
</head>


<script language="javascript">
</script>

<a href="javascript: var int=self.setInterval('addstring()',200)">Start Loading</a><br />
<a href="javascript: window.clearInterval(int)">Stop Loading</a>
<div id="status_loading"></div>
</html>
2/ Chỉ định position:fixed như vậy là chính xác rồi. Nếu muốn tácdụng trên IE thì thêm dòng code sau vào đầu trang đó
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
bachcotsau viết 11:59 ngày 10/10/2018
Cảm ơn bạn nhiều, vấn đề 1 đã được giải quyết nhưng vấn đề 2 ở IE 6 nó vẫn bị lỗi bạn ak, có cách nào khắc phục được không.

PHP Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
>
<
html>
<
head>
    <
meta http-equiv="content-type" content="text/html; charset=utf-8">
    <
title>Untitled 1</title>
<
style type="text/css">
    
#loading {position:fixed;
    
left:420px;
    
top:240px;
    
padding:5px 10px;
    
background#FFFFFF;
    
color:#0E3B82;
    
}
</
style>
</
head>
<
body>
<
div id="loading">
Đang tải dữ liệu
</div>
<
table width="500" border="1">
<
tr>
    <
td height="500"></td>
</
tr>
</
table>
<
table width="500" border="1">
<
tr>
    <
td height="500"></td>
</
tr>
</
table>
</
body>
</
html

[=========> Bổ sung bài viết <=========]

cho mình hỏi câu nữa là kiểm tra sự tồn tại của id như thế nào vậy.
mình gán cho nó một id rồi sau đó kiểm tra xem id đó hiện có tồn tại hay không.
thuyduongcd viết 12:02 ngày 10/10/2018
Hiện mình đang sử dụng IE7 nên ko có điều kiện test trên IE6 nhưng hình như trước đây khi sử dụng IE6 từng gặp lỗi này và cũng giải quyết bằng cách ấy. Mà nó lỗi như thế nào vậy?

2.
Code:
<script language="javascript">
var ob=document.getElementById(id);
if (ob==null){
    // element ko tồn tại
}else{
    // element tồn tại
}
</script>
dangviethai viết 11:57 ngày 10/10/2018
để fix thuộc tính position:fixed cho IE6 thì các bác tham khảo bài này nhé (gần cuối) http://www.ddth.com/showpost.php?p=1376417&postcount=2
Bài liên quan
0