當設定為顯示的最新消息超過五筆時會在首頁出現 More...
的連結,並導引使用者跳轉到 index.php?do=news
頁面。
列出最新消息筆數的做法和首頁是一樣的,只是這邊有要求一頁五筆,且需有分頁的功能。
原本的版型檔案中也有附一段js的程式是用來顯示更多最新消息的彈出視窗的,原理和首頁的程式碼幾乎一樣,只是加上了垂直位置的變化而已,我們直接套用該程式就可以了,不用另外自己寫程式。
NEWS-前台更多最新消息顯示區
/front/news.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
| <!--正中央--> <h3>更多最新消息顯示區</h3> <hr> <?php $total=$DB->count(['sh'=>1]); $div=5; $pages=ceil($total/$div); $now=$_GET['p']??1; $start=($now-1)*$div;
$news=$News->all(['sh'=>1]," limit $start,$div"); ?> <!--使用<ol>標籤的特性來設定列表資料的起始值--> <ol start='<?=$start+1;?>'> <?php foreach($news as $n){ echo "<li class='sswww'>"; echo mb_substr($n['text'],0,20); echo "<div class='all' style='display:none'>"; echo $n['text']; echo "</div>"; echo "...</li>"; } ?> </ol> <div class="cent"> <?php if($now>1){ $prev=$now-1; echo "<a href='?do=$do&p=$prev'> < </a>"; }
for($i=1;$i<=$pages;$i++){ $fontsize=($now==$i)?'24px':'16px'; echo "<a href='?do=$do&p=$i' style='font-size:$fontsize'> $i </a>"; }
if($now<$pages){ $next=$now+1; echo "<a href='?do=$do&p=$next'> > </a>"; } ?> </div>
|
如果發現滑鼠移到最新消息上沒有彈出視窗時,
在 index.php 或 backend.php 找找是否有下列的js程式碼片段,複製到 /front/news.php 的html碼下方即可
彈出視窗程式碼片段
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| <div id="alt" style="position: absolute; width: 350px; min-height: 100px; word-break:break-all; text-align:justify; background-color: rgb(255, 255, 204); top: 50px; left: 400px; z-index: 99; display: none; padding: 5px; border: 3px double rgb(255, 153, 0); background-position: initial initial; background-repeat: initial initial;"> </div> <script> $(".sswww").hover( function() { $("#alt").html('<pre>' + $(this).children(".all").html() + '</pre>').css({ "top": $(this).offset().top - 50 }) $("#alt").show() } ) $(".sswww").mouseout( function() { $("#alt").hide() } ) </script>
|