ต้องการทำป้าย Loading ... แบบที่กูเกิลใช้
ทดลองแกะดู เขาใช้ css เป็นทำนองนี้ (แก้ไขและเปลี่ยนแปลงจากต้นฉบับแล้ว)

...
.hidden {
  display: none; 
}
#loading {
  position: absolute;
  top: 14em;
  height: 2em;
  left: 49%;
  z-index: 10000;
}
#loading p {
  padding: .5em 40px .5em 40px;
  text-align: center;
  line-height: 2em;
  color: #c66;
  background: #fee;
  border: solid 1px #c99;
}
...

เวลาใส่ในข้อความ html ก็ใช้ทำนองว่า...

...
<div id="loading" class="hidden"><p>Loading ... </p></div>
...

เวลาถูกเรียกใช้งานด้วยจาวาสคริปต์ โดยเมธอด POST

 

ลองทดสอบวัดประสิทธิภาพแบบคร่าว ๆ เพื่อหาวิธีการเขียนโค๊ด

เริ่มต้นด้วยการสร้างคลาสเพื่อจับเวลาก่อน

class TimeIt:
  import time
  def __init__(self):
    self.p_start=time.time()
  def use(self):
    t_now=time.time()
    t_use=t_now-self.p_start
    self.p_start=t_now
    return t_use

ตามด้วยการสั่งจากเชลล์ของไพธอน

import adodb
conn = adodb.NewADOConnection("postgres")
cur = conn.Connect(host, user, password, db)
sql = """CREATE TABLE test (wordid SERIAL, word VARCHAR(255), PRIMARY KEY (wordid))"""
cur = conn.Execute(sql)

แบบที่ ๑

def f1():
  ttt = TimeIt()
  for i in range(1000):
Topic: 
 

ทดสอบการลบมุม แบบไม่ต้องใช้ไฟล์ภาพ แต่ใช้ css แทน

เอามาจาก Nifty Corners: rounded corners without images

Topic: 
 

จากคราวก่อนตัวอย่างเป็นการใช้งานฟังก์ชั่น open ใน Ajax แบบใช้เมธอด GET
ปัญหาของเมธอด GET คือการส่งผ่านค่าผ่าน url ทำให้รหัสอักขระเปลี่ยน
อีกอย่างนึงคือส่งผ่านข้อความยาวมาก ๆ ไม่ได้ เลยต้องใช้เมธอด POST แทน

รูปแบบเก่าของเมธอด GET คือ

...
function d_say(arg1, arg2) {
/* arg1 IN FORM OF "?var1=123&var2=456" */
  if (req.readyState == 4 || req.readyState == 0) {
    url = arg1;
    htmlid = arg2;
    req.onreadystatechange = d_handle;
    req.open("GET", url, true);
    req.send(null);
  }
}
function d_handle() {
  if (req.readyState == 4) {
Topic: 
 

จากการทดลอง Ajax ในครั้งก่อน

Pages

Subscribe to ThaiTux.info RSS