本文實例講述了thinkPHP5(TP5)實作改寫跳轉提示頁面的方法。分享給大家供大家參考,具體如下:
大家都知道Tp框架一直以來的執行成功和失敗的頁面都不是特別的好看,不過這樣也給了開發者一個不錯的選擇我們可以依照自己的喜好去改寫這個跳躍提示的頁面
我使用的是Tp5框架,Tp5的跳躍提示頁面的改寫和Tp3的有異曲同工之妙,首先還是先看一下Tp框架中自帶的跳轉提示頁面的程式碼吧,我直接貼上了:
{NOLAYOUT}<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>跳转提示</title> <style type="text/css"> *{ padding: 0; margin: 0; } body{ background: #fff; font-family: "Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif; color: #333; font-size: 16px; } .system-message{ padding: 24px 48px; } .system-message h1{ font-size: 100px; font-weight: normal; line-height: 120px; margin-bottom: 12px; } .system-message .jump{ padding-top: 10px; } .system-message .jump a{ color: #333; } .system-message .success,.system-message .error{ line-height: 1.8em; font-size: 36px; } .system-message .detail{ font-size: 12px; line-height: 20px; margin-top: 12px; display: none; } </style> </head> <body> <p class="system-message"> <?php switch ($code) {?> <?php case 1:?> <h1>:)</h1> <p class="success"><?php echo(strip_tags($msg));?></p> <?php break;?> <?php case 0:?> <h1>:(</h1> <p class="error"><?php echo(strip_tags($msg));?></p> <?php break;?> <?php } ?> <p class="detail"></p> <p class="jump"> 页面自动 <a id="href" href="<?php echo($url);?>" rel="external nofollow" >跳转</a> 等待时间: <b id="wait"><?php echo($wait);?></b> </p> </p> <script type="text/javascript"> (function(){ var wait = document.getElementById('wait'), href = document.getElementById('href').href; var interval = setInterval(function(){ var time = --wait.innerHTML; if(time <= 0) { location.href = href; clearInterval(interval); }; }, 1000); })(); </script> </body> </html>
下面進行改寫,首先css的東西都可以直接刪掉,那個幾乎沒有什麼作用,忘了說了我使用的替換的跳轉提示的是layer插件,這個插件做的還是不錯的,官網:http://layer.layui.com/,想看的請同志們左拐
#1.下載layer插件,進行解壓縮,解壓縮之後的文件包如下:
#解壓縮之後包含這三個主要的文件,其中我們需要引入到文件中的是layer.js
但千萬不要忘記引入了jquery.js
然後大家看Tp原來的程式碼中幾行比較重要的程式碼:
<p class="success"><?php echo(strip_tags($msg));?></p> <?php echo($url);?> <?php echo($wait);?>
這三點分別是提示信息,跳轉路徑,等待時間
有了這幾個就可以了,改寫的時候使用隱藏域的手手法,利用隱藏域將需要獲得信息通過jquery的形式獲取,然後插入到下面的js中:
<script type="text/javascript"> (function(){ layer.open({ content: msg, yes: function(index, layero){ //do something layer.close(index); //如果设定了yes回调,需进行手工关闭 } }); var wait = document.getElementById('wait'), href = document.getElementById('href').href; var interval = setInterval(function(){ var time = --wait.innerHTML; if(time <= 0) { location.href = href; clearInterval(interval); }; }, 1000); })(); </script> var msg = $('#msg').val(); 提示信息 var url = $('#url').val(); 跳转url var wait = $('#wait').val(); 等待时间
改寫後的js:
<script type="text/javascript"> (function(){ var msg = $('#msg').val(); var url = $('#url').val(); var wait = $('#wait').val(); layer.open({ content: msg, yes: function(index, layero){ //do something location.href = url; layer.close(index); //如果设定了yes回调,需进行手工关闭 } }); })(); </script>
這裡我沒有使用自動跳轉,而是手動點擊進行跳轉,所以下面的計時器直接刪除掉了,並不影響
就這樣改寫成功了
以上是TP5改寫跳轉提示頁面的實作方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!