前段時間做專案,有個功能是訊息提醒。 我相信很多大牛都做過。下面來分享我遇到的問題和解決方案。
首先我們的專案是用frameset框架,main**。
<這樣分了左右兩個部分。frameset
name
="myframe"
cols
="85,*"
frameborder
="no"
border
="0"
framespacing
="0"
>
<
frame
src="$/left.jsp"
name
="leftframe"
frameborder
="no"
scrolling
="auto"
noresize
="noresize"
id="leftframe"
/>
<
frame
src="$/welcome.jsp"
name
="mainframe"
frameborder
="no"
scrolling
="auto"
noresize
="noresize"
id="mainframe"
/>
frameset
>
要求是無論在哪個頁面當點選訊息圖示的時候。能再右下角彈出訊息提示。
這個我還真沒做過。當時查閱了很多的資料。然後先是找到了jquery的message外掛程式。後來又找到了如何操作父框架的js,然後這個問題就解決了。
因為我left.jsp是選單導航。它是不變的。所以我就把訊息圖示放在了left中。
left.jsp頁面中的js函式:
function這是在left中的開啟訊息的js函式。msgtype表示的是訊息狀態.openmsg(msgtype)
window.parent 功能:返回父視窗
注:如果視窗本身是頂層視窗,parent屬性返回的是對自身的引用。
在框架網頁中,一般父視窗就是頂層視窗,但如果框架中還有框架,父視窗和頂層視窗就不一定相同了。
那麼用這個方法我們就能直接呼叫main的getmessage()函式了。
main中的getmessage()函式:
function還有$.messager.anim(type,speed);getmessage(msgtype)
else
/*$.messager.show(title,text,time);
*該方法主要定義視窗顯示的內容,以及視窗顯示多長時間後進行隱藏。
*如果使用預設的標題,則將title設定為0,另外title和text還可以設定為html內容進行顯示。如果希望使用者點選彈窗的關閉按鈕才關閉
*訊息框,可將time設定為0。
*/$.messager.show("訊息提醒",msg);
}
該方法主要定義視窗以什麼樣的方式和速度呈現。
$.messager.anim("fade",1000); //以fadein的動畫方式顯示
$.messager.anim("show",1000); //以show的動畫方式顯示
那麼,上面簡單的介紹了下jquery的message外掛程式中常用的幾個方法
當然,要想使用我們就要在頁面引入jquery.js和jquery.messager.js檔案。
通過這麼一組合,我們就完成了整個這套功能。
ie8 下正常執行。
高版本ie和谷歌瀏覽器相容執行方法(含原始碼):
由於jquer.messager 的彈出層是在body 追加的。但是在高版本瀏覽器裡frameset和 body是不會同時顯示的。
解決辦法就是新建乙個index.html,在這個頁面用iframe引用frameset頁面來解決:
在main.html要做改變: left.html不變
框架frameset用法
1.frameset用法 name 定義幀的名字,設定這個框窗的名稱,這樣才能指定框架來作連線,必須但命名任意 frameborder 定義幀之間的邊界 0或1 frameborder 0 設定框架的邊框,0表示不要邊框,1表示要邊框 framespacing 5 設定框架與框架間保留的空白距離 b...
前端架構 彈出層框架layer
layer 乙個可以讓你想到即可做到的web彈窗 層 解決方案 js元件 我們的專案在處理頁面上用到了大量的layer,layer不僅可以彈出div而且還可以彈出頁面,而且還擁有豐富的 和大量的提示框樣式等等,只有你想不到的。下面是乙個 我做的彈框的截圖 layer的使用非常簡單,只需要引用kaye...
layui框架(彈出層和輪播)
一 彈出層 src layer.js script layer.msg hello script 2 在 layui 中使用 layer layui.use layer function script 3 彈出層屬性的使用方法type 基本層型別 layer提供了5種層型別 可傳入的值有 0 資訊框...