พบกับบทความเกี่ยวกับคอมพิวเตอร์และ programming ได้ที่ http://articles.modoeye.com | บล็อกอาหาร
PHP development / ทำลิงค์ในหน้าเดียว
html
html
Fri 3 Feb 2006 16:29:02

สวัสดีครับ..คือผมต้องการทำลิงค์ในหน้าเดียวน่ะครับ แบบไม่มีเส้นแบ่งหน้าครับ คือฝั่งซ้ายผมสร้างปุ่มขึ้นมา 5 ปุ่ม แล้วฝั่งบน มีปุ่ม 4 ปุ่มครับ เวลาคลิ๊กที่ปุ่มฝั่งซ้ายให้หน้าที่เลือฝั่งขวาเปลี่ยนหน้าน่ะครับ(โดยที่ปุ่มด้านบนยังอยู่)แล้วเวลาคลิ๊กปุ่มด้านบน ก็ให้หน้าข้างล่างเปลี่ยน (โดยที่ปุ่มฝั่งซ้ายยังอยู่น่ะครับ) รบกวนด้วยครับ

Administrator
Fri 3 Feb 2006 16:55:11
ถ้าตามนี้แล้วก็มีแต่ Frame ครับที่ทำได้ตามต้องการ
โดยต้องทำการแบ่งบนล่างก่อน ส่วนในส่วนล่างก็ทำการแบ่งซ้ายขวาอีกทีครับ
ส่วนที่ไม่ต้องการให้เห็นเส้นแบ่งหน้านั้นก็อาจจะใช้ stylesheet ช่วยครับ โดยสั่งให้ style="border:0px;"

ส่วนการทำลิงค์ของแต่ละปุ่มนั้น ก็เพิ่ม attribute target เข้าไปครับ เช่น ต้องการให้ Frame ชื่อ rightFrame เปลี่ยน ถ้าใช้ tag a ก็สามารถเขียนได้เป็น <a href="somewhere.html" target="rightFrame">Action</a>
หรือถ้าใช้ปุ่มก็ <input type="button" value="Action" onclick="parent.rightFrame.document.location.href='somewhere.html';">

ประมาณนี้ครับ
guest
guest
Mon 6 Feb 2006 16:06:05

อีกนิดครับ ...คือว่าผมอยาก สร้าง tag ไว้สำหรับ รีเฟรชหน้าน่ะครับ...เช่นพอคลิ๊กข้อความนี้ก็ให้หน้าทั้งหมดใน เฟรมทุกช่องกลับไปหน้าเดิมปกติน่ะครับไม่ทราบว่าทำง้ย...รบกวนด้วยครับ

Administrator
Mon 6 Feb 2006 16:13:17
ถ้าเป็นใน IE อาจจะใช้ window.document.reload() ก็ได้ครับ แต่ถ้าให้ชัวร์ก็
document.location.href = 'path_of current_file.html';
ประมาณนี้ครับ
guest
guest
Mon 6 Feb 2006 16:58:19

คือว่า หน้าเว็บของผม แบ่งเฟรม เป็น สี่ส่วนน่ะครับ...ส่วนที่หนึ่งอยู่ด้านบนชื่อ topFrame ส่วนที่สอง อยู่ด้านซ้านหน้าจอชื่อ leftFrame ส่วนที่ อยู่ตรงกลางชื่อ centerFrame ส่วนที่สี่ชื่อ rightFrame ครับ แล้ว topFrame ผมทำปุ่มสำหรับเวลาคลิ๊กแล้วให้ centerFrame เปลี่ยนหน้า ครับ ในส่วนของทาง leftFrame มี tag ที่พอคลิ๊กแล้ว ให้ส่งค่าไปที่ topFrame แล้วสร้าง tag สำหร้บ ทำ refresh แล้วผมเอาคำสั่งที่คุณเว็บมาสเตอร์บอกไปใส่ แต่พอคลิ๊กแล้ว หน้าอื่นไม่เปลี่ยน ครับ เปลี่ยนแค่ leftFrame อย่างเดียวอ่ะครับ คือผมอยากทำเหมือนปุ่ม Refresh บน เมนูบาร์ของ IE น่ะครับ คือเคลียร์ค่าของ topFrame ด้วย แล้ว centerFrame ก็กลับไปอยู่หน้าเดิมด้วยน่ะครับ  รบกวนด้วยครับ

Administrator
Mon 6 Feb 2006 17:11:49
ถ้าเป็นการทำงานใน Frame โดยต้องการให้มีการสั่งมาจาก Frame ใดๆนั้น สมมุติว่าใส่ไว้ใน leftFrame ต้องการให้ topFrame ทำการ Relode เอกสารนั้นต้องอ้างไปยัง Parent ของ leftFrame ก่อนครับ เช่น window.parent.frames["topFrame"].document.location.href='somewhere.html'; ประมาณนี้ครับ
guest
guest
Tue 7 Feb 2006 08:38:54

แล้วสามารถทำที่เดียวพร้อมกัน 4 เฟรมได้เลยหรือเปล่าครับ ...แบบว่าคลิ๊กทีเดียว รีเฟรชพร้อมกันทั้ง 4 เฟรมเลยอ่ะครับ....รบกวนด้วยครับ

Administrator
Tue 7 Feb 2006 09:20:33
ทำได้ครับโดยการสั่ง 4 คำสั่งครับ
เริ่มจาก 3 Frame ที่ไม่ใช่ตัวเองก่อนแล้วสั่งให้ตัวเอง reload ใหม่ครับ

เช่น ถ้าปุ่มคำสั่งที่อยู่ใน leftFrame จะได้ประมาณนี้ครับ

window.parent.frames["topFrame"].document.location.href='somewhere.html';
window.parent.frames["rightFrame"].document.location.href='somewhere.html';
window.parent.frames["centerFrame"].document.location.href='somewhere.html';
window.parent.frames["leftFrame"].document.location.href='somewhere.html';
kiku_daow
kiku_daow
Tue 12 Feb 2008 10:06:14

เป็นคำถามที่ดีมากๆเลยค่ะ กำลังหาวิธีทำแบบนี้อยู่เหมือนกานเลย ขอบคุณมากเลยค่ะที่มาตอบไว้

Reply
Name:
E-mail:
Home | Services | Forum | Classified | Directories | Support | Contact
ATOM feed RSS 0.9 feed RSS 1.0 feed RSS 2.0 feed
Copyright © 2005 - 2007 Modoeye.com, All Rights Reserved.
Disclaimer | Privacy policy | Term of Use | Term of Services
Valid XHTML Valid CSS! PHP: Hypertext Preprocessor MySQL database Apache Powered! FreeBSD Power to serve
Modoeye Sitemap Client login