※ 引述《gpgpt (陌生)》之銘言:
: 想請問一下,
: 我現在製作一個網站類似這樣:
: ┌──────────────┐
: │1 2 3 4 5 6 上一頁|下一頁│
: ├──────────────┤
: │┌────────────┐│
: ││ ││
: ││ 圖層 ││
: ││ ││
: │└────────────┘│
: └──────────────┘
: 1 2 3 4 5 6 是連結,
: 希望點選該數字時,可以在圖層的地方更換頁面,而不整個reload(也不使用框架)。
: 我目前是用隱藏顯示圖層的方式來寫,
: 但問題是,這樣上一頁和下一頁該如何處理?
: 還有,我在數字上設有連結反應(變色),
: 希望連到該圖層的時候,那個數字可以變成無作用的狀態。
: (ex.link是藍色,但顯示layer1時,數字1會是黑色,其他數字是藍色:
: ┌──────────────┐
: │1 2 3 4 5 6 上一頁|下一頁│
: ├──────────────┤
: │┌────────────┐│
: ││ ││
: ││ layer1 ││
: ││ ││
: │└────────────┘│
: └──────────────┘ )
: 還有,不知道這種方式會不會load太慢?
: 也或者不需要用這種方式,
: 我知道好像javascript可以做到,
: 不知道有沒有相關資源可以套用?
: 非常感謝。
這要用 javascript 可以做到,可是不知道你 js 學的如何。
用 ajax 的好處是可以不用一次把所有的資料都抓下來,
可是 server 端還需要對應的程式來回應 如 php 或 asp 等等,又是另一個議題了。
純用 js 的原理大概是這樣:
假設你有 6 頁,會有 6 個 div,div 取相同的名字,一開始只有第一個 div 顯示
ex:
<div name="divPage" style="display:block">layer 1</div>
<div name="divPage" style="display:none">layer 2</div>
.........
1 到 6 的數字是連結或按鈕,點下去置行一個 js 的方程式,並傳入點選的值,
ex:
<a href="javascript:changePage(1)">1</a>
js 的部份:
function changePage(pageNum){
var pages = document.getElementsByName('divPage');
for(var i = 0; i< pages.len; i++){
pages[i].style.cssText = "display:none"; // 把所有的頁面都藏起來
}
pages[pageNum -1].style.cssText = "display:block"; // 陣列索引從0開始
// 所以頁碼要減1
}
按鈕變色的部份也是類似的方式,把按鈕取相同的名字,(或是把連結放在<span>中)
然後用類似的 js 去改變 style,或是設好兩個 class,然後去改變 class
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.81.193.180