前段时间做项目,有个功能是消息提醒。 我相信很多大牛都做过。下面来分享我遇到的问题和解决方案。
首先我们的项目是用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 弹出层效果小编就给大家介绍到这里,希望对大家有所帮助!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。