ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comพัฒนาเว็บไซต์Programmingถามเรื่อง Jquery ครับ Show / hide
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: ถามเรื่อง Jquery ครับ Show / hide  (อ่าน 1520 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
absolutex
สมุนแก๊งเสียว
*

พลังน้ำใจ: 10
ออฟไลน์ ออฟไลน์

กระทู้: 516



ดูรายละเอียด เว็บไซต์
« เมื่อ: 03 เมษายน 2009, 21:00:30 »

โค๊ด:
	$(document).ready(function() {
        $(".topMenuAction").click( function() {
if ($("#openCloseIdentifier").is(":hidden")) {
$("#slider").animate({
marginTop: "-141px"
}, 500 );
$("#topMenuImage").html('<img src="./images/open.png" alt="open" />');
$("#openCloseIdentifier").show();

} else {
$("#slider").animate({
marginTop: "0px"
}, 500 );
$("#topMenuImage").html('<img src="./images/close.png" alt="close" />');
$("#openCloseIdentifier").hide();
}
}); 
});

ปัญหามันเกิดตอนผม up เป็น 1.3.2 ครับ ตอนผมใช้ 1.2.6 สามารถใช้ได้ดีครับ

มันไม่สามารถเปิดออกมาได้ครับ show(); แต่สามารถ hide(); ได้ปรกติครับ

ไม่ทราบว่า code ผิดตรงไหนหรอครับ หามาทั้งวันเลยครับ ผมมือใหม่ครับ >,<
บันทึกการเข้า
Pipo
Newbie
*

พลังน้ำใจ: 8
ออฟไลน์ ออฟไลน์

กระทู้: 99



ดูรายละเอียด เว็บไซต์
« ตอบ #1 เมื่อ: 07 เมษายน 2009, 20:58:49 »

ผมว่าที่ hide(); มันทำงานเพราะมันหลุด if มาเข้า else มากกว่าครับ

ให้ลอง check ง่ายๆ ก่อนเช่น

if ($("#openCloseIdentifier").is(":hidden")) {
alert('I am hidden');
}
บันทึกการเข้า
7
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 16
ออฟไลน์ ออฟไลน์

กระทู้: 1,353



ดูรายละเอียด เว็บไซต์
« ตอบ #2 เมื่อ: 07 เมษายน 2009, 21:48:55 »

1.3.2 มีข้อเปลี่ยนแปลงจาก 1.2.6 อยู่เยอะ ผมยังไม่กล้าเปลี่ยนเลย
บันทึกการเข้า

nadia_diana
Newbie
*

พลังน้ำใจ: 0
ออฟไลน์ ออฟไลน์

กระทู้: 81



ดูรายละเอียด
« ตอบ #3 เมื่อ: 07 เมษายน 2009, 21:58:21 »

ทำไมเปลี่ยน version แล้วมีปัญหาเลยหรอ แบบนี้ไม่ดีเลย

ปล ผมใช้ 1.3.2 อยู่ครับ
บันทึกการเข้า

รวมแฟชั่นเสื้อผ้า : http://www.islamweddingfashion.com
7
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 16
ออฟไลน์ ออฟไลน์

กระทู้: 1,353



ดูรายละเอียด เว็บไซต์
« ตอบ #4 เมื่อ: 08 เมษายน 2009, 01:40:53 »

อ่านเอกสารการเปลี่ยนแปลง version ให้ดีสิครับ ไม่ใช่มันไม่ดีหรอกคุณ
บันทึกการเข้า

EThaiZone
เจ้าพ่อโลลิค่อน
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 321
ออฟไลน์ ออฟไลน์

กระทู้: 12,518



ดูรายละเอียด เว็บไซต์
« ตอบ #5 เมื่อ: 08 เมษายน 2009, 03:36:08 »

1.3.2 มีข้อเปลี่ยนแปลงจาก 1.2.6 อยู่เยอะ ผมยังไม่กล้าเปลี่ยนเลย

ตามนั้น บางที error มาจาก selector ซึ่งเล่นเอาผมงงเลย
ดังนั้นถ้าเขียนใช้งานได้ เช็คแล้วไม่มี error
ก็ไม่ต้องเปลี่ยนหรอก

แต่พอเขียนบนงานใหม่ นั้นแหละถึงค่อยอัพเกรดตาม

 Tongue
บันทึกการเข้า

absolutex
สมุนแก๊งเสียว
*

พลังน้ำใจ: 10
ออฟไลน์ ออฟไลน์

กระทู้: 516



ดูรายละเอียด เว็บไซต์
« ตอบ #6 เมื่อ: 19 เมษายน 2009, 11:20:45 »

เจอแล้วครับ เป็น bug ของ 1.3.2

ใครที่มีปัญหา ลองแก้ที่

ใน jquery-1.3.2.min.js

หาคำว่า

hidden=function


จะเจอ

hidden=function(T){return T.offsetWidth===0||T.offsetHeight===0}

แก้เป็น

hidden=function(T){return T.offsetWidth===0&&T.offsetHeight===0}

อ้างอิงจาก

http://dev.jquery.com/ticket/4374
http://dev.jquery.com/changeset/6282
บันทึกการเข้า
หน้า: [1]   ขึ้นบน
พิมพ์