前段時間做項目,有個功能是消息提醒。 我相信很多大牛都做過。下面來分享我遇到的問題和解決方案。
首先我們的項目是用frameset框架,main代碼。
<frameset name="myFrame" cols="85,*" frameborder="no" border="0" framespacing="0"> <frame src="${base}/left.jsp" name="leftFrame" frameborder="no" scrolling="auto" noresize="noresize" id="leftFrame" /> <frame src="${base}/welcome.jsp" name="mainFrame" frameborder="no" scrolling="auto" noresize="noresize" id="mainFrame" /> </frameset>
這樣分了左右兩個部分。
要求是無論在哪個頁面當點擊消息圖標的時候。能再右下角彈出消息提示。
這個我還真沒做過。當時查閱了很多的資料。然後先是找到了jquery的message插件。後來又找到了如何操作父框架的js,然後這個問題就解決了。
因為我left.jsp是菜單導航。它是不變的。所以我就把消息圖標放在了left中。
left.jsp頁面中的js函數:
function openMsg(msgType){ //調用父窗體的獲取消息js window.parent.getMessage(msgType); }
這是在left中的打開消息的js函數。msgType表示的是消息狀態.
window.parent 功能:返回父窗口
注:如果窗口本身是頂層窗口,parent屬性返回的是對自身的引用。
在框架網頁中,一般父窗口就是頂層窗口,但如果框架中還有框架,父窗口和頂層窗口就不一定相同了。
那麼用這個方法我們就能直接調用main的getMessage()函數了。
main中的getMessage()函數:
function getMessage(msgType){ /*$.messager.lays(width, height); *該方法主要用來定義彈出窗口的寬度和高度。 */ $.messager.lays(200, 150); var msg="無消息" if(msgType==1){ msg="jqueryMessage新消息提醒"; }else{ msg="jqueryMessage已提醒消息"; } /*$.messager.show(title,text,time); *該方法主要定義窗口顯示的內容,以及窗口顯示多長時間後進行隱藏。 *如果使用默認的標題,則將title設置為0,另外title和text還可以設置為html內容進行顯示。如果希望用戶點擊彈窗的關閉按鈕才關閉 *消息框,可將time設置為0。 */ $.messager.show("消息提醒",msg); } </script>
還有$.messager.anim(type,speed);
該方法主要定義窗口以什麼樣的方式和速度呈現。
$.messager.anim("fade",1000); //以fadeIn的動畫方式顯示
$.messager.anim("show",1000); //以show的動畫方式顯示
那麼,上面簡單的介紹了下jquery的message插件中常用的幾個方法
當然,要想使用我們就要在頁面引入jquery.js和jquery.messager.js文件。
通過這麼一組合,我們就完成了整個這套功能。
此效果圖在IE8下正常運行,谷歌兼容。有關frameset 彈出層效果小編就給大家介紹到這裡,希望對大家有所幫助!