จาก ตย GAJAX บทที่ 11 VScroll และ HScroll

ผมใช้ VScroll นะครับแต่ติดปัญหาที่ว่า script หาค่าความกว้างของรูปไม่ได้นะครับ a.getWidth() เป็น 0

ทีแรกผมคิดว่าเพราะผม เอา  a href มาใส่แบบนี้ <a><img src=''></a> แต่เอา a ออกก็ยังเป็น 0 นะครับ
15 ส.ค. 2556 1 1,372

ลองเรียกภายใต้

$G(window).Ready(function(){

  new VScrol(....);

});

เนื่ิองจากบางครั้งหาก element ต่างๆยังไม่พร้อมอาจคืนความกว้างเป็น 0 ได้ครับ



ออ มีอีกที ปัญหาอาจอยู่ที่ img ครับ เนื่องจาก img จะมีค้าเป็น 0 ตอนเรื่มต้น เนื่องจาก src ยังไม่ได้โหลดมาทำให้ width เป็น 0 ทางแก้อาจต้อง cache image ให้หมดก่อนแล้วค่อยเรียกใช้ Vscroll ครับ



แต่การแก้ปัญหาที่ผมนิยมใช้มากกว่า ก็คือ ใช้การแสดงผลบน background ครับ จากโค้ดที่ใช้อยู่ผมใช้วิธีกำหนดขนาดให้กับ a ตายตัวไปเลย เนื่องจากโดยปกติ a จะต้องมีขนาดเท่าๆกันทุกอันอยู่แล้ว หลังจากนั้น ค่อยแสดงรูปด้วย background-image ครับ ทำให้เราไม่จำเป็นต้องคอยให้รูปโหลดเสร็จ เนื่องจากขนาดเราจะกำหนดไว้ก่อนแล้ว
#1
ความคิดเห็น
ไฟล์อัปโหลด ชนิด jpg, jpeg ขนาดไฟล์ไม่เกิน 1024
^