香蕉成人伊视频在线观看|学生小视频国产区|yy女主播啪啪啪视频|麻豆传播媒体APP大全免费版官网|瑜伽牲交AV|国产欧美日韩在线天堂区|白浆精品国产91

返回列表 發(fā)帖
查看: 9663|回復: 2

站長推薦的彈窗實現(xiàn)

83

主題

-6

回帖

3

粉絲

爐火純青

貢獻
2 點
金幣
241 個
樓主
發(fā)表于 2019-6-3 13:13:48 |浙江| 只看樓主 |倒序瀏覽 |閱讀模式

站點推薦以浮窗的形式顯示在帖子內(nèi)容頁面右下角,如果了解了原理,還可以彈出其他內(nèi)容的窗口,而不僅限于站點推薦。下面簡單說一下原理。
1、先找到浮窗的代碼,在template\default\common\footer.htm 文件中,找到 id ="sitefocus" 的 div,如下圖這段代碼主要是將浮窗的結構,其中,第一行代碼<!--{eval $focusid =getfocus_rand($_G[basescript]);}-->是使用getfocus_rand函數(shù),獲取一個動態(tài)的focusid值。我們先來看一下getfocus_rand函數(shù)
2、打開source\function\function_core.php文件,找到在這段代碼中,最重要的邏輯運算就是判斷一個信息是否已經(jīng)彈出過。這個是通過cookie值來判定,具體到代碼實現(xiàn),就是do-while循環(huán)部分。在這個循環(huán)中,首先隨機獲取focus數(shù)組中的一個值,然后,來判斷cookie中是否有值,如果有值,直接忽略。如果沒值,退出循環(huán),準備返回此 focusid ,此后的過程將使用這個值來進行彈出操作。
3、再回到浮窗的代碼,
  1. <a href="javascript:;" onclick="setcookie('nofocus_$focusid', 1, $_G['cache']['focus']['cookie']*3600);$('sitefocus').style.display='none'" class="y" title="{lang close}">{lang close}</a>
復制代碼
當彈出窗口后,當用戶關閉時,為了表示該信息已經(jīng)彈出過,所以將此條信息的標識寫到cookie中,便于在下次的彈出時避免重復。至于窗口的顯示與否,完全靠控制 div 的 style 樣式來實現(xiàn)。至于信息的內(nèi)容顯示就非常簡單了,這里就不再詳述了。 在進一步的二次開發(fā)中,完全可以利用這個流程,在合適的時間彈出所需要的窗口。


回復

使用道具 舉報

15

主題

1930

回帖

3

粉絲

應用開發(fā)者

discuz 老兵

貢獻
12 點
金幣
198 個
QQ
沙發(fā)
發(fā)表于 2019-6-9 08:28:24 |黑龍江| 只看Ta
感謝分享
回復

使用道具 舉報

3

主題

123

回帖

3

粉絲

應用開發(fā)者

貢獻
0 點
金幣
58 個
板凳
發(fā)表于 2019-6-9 08:37:34 |四川| 只看Ta
收藏一下,以防后患,謝謝分享
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

  • 關注公眾號
  • 有償服務微信
  • 有償服務QQ

手機版|小黑屋|Discuz! 官方交流社區(qū) ( 皖ICP備16010102號 |皖公網(wǎng)安備34010302002376號 )|網(wǎng)站地圖|star

GMT+8, 2026-5-31 03:57 , Processed in 0.040338 second(s), 9 queries , Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2026 Discuz! Team.

關燈 在本版發(fā)帖
有償服務QQ
有償服務微信
返回頂部
快速回復 返回頂部 返回列表