FineUI 官方论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

本论坛已关闭(禁止注册、发帖和回复)
请移步 三石和他的朋友们

FineUI首页 WebForms - MVC & Core - JavaScript 常见问题 - QQ群 - 十周年征文活动

FineUI(开源版) 下载源代码 - 下载空项目 - 获取ExtJS - 文档 在线示例 - 版本更新 - 捐赠作者 - 教程

升级到 ASP.NET Core 3.1,快、快、快! 全新ASP.NET Core,比WebForms还简单! 欢迎加入【三石和他的朋友们】(基础版下载)

搜索
查看: 4627|回复: 6
打印 上一主题 下一主题

如何可以做到定时弹出消息窗口

[复制链接]
跳转到指定楼层
楼主
发表于 2012-3-14 10:57:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如何可以做到定时弹出消息窗口

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
沙发
发表于 2012-3-14 15:46:35 | 只看该作者
现在没有控件可以实现这个功能,但可以通过脚本实现。请参考(说明:我没有实际测试过):
http://blog.csdn.net/vazumi/article/details/6462181
板凳
发表于 2012-3-15 08:57:59 | 只看该作者
用timer不可以实现吗???
地板
 楼主| 发表于 2012-3-15 10:36:09 | 只看该作者
你那方法不行,我已想到方法可以实现。
5#
发表于 2012-3-15 10:53:25 | 只看该作者
js代码
  1. Ext.ns('MyLib');

  2. ; (function ($) {
  3.     //新建window组,避免被其它window影响显示在最前的效果
  4.     var tipsGroupMgr = new Ext.WindowGroup();
  5.     tipsGroupMgr.zseed = 99999; //将小贴士窗口前置

  6.     $.TipsWindow = Ext.extend(Ext.Window, {
  7.         width: 200,
  8.         height: 150,
  9.         layout: 'fit',
  10.         modal: false,
  11.         plain: true,
  12.         shadow: false, //去除阴影
  13.         draggable: false, //默认不可拖拽
  14.         resizable: false,
  15.         closable: true,
  16.         closeAction: 'hide', //默认关闭为隐藏
  17.         autoHide: 3, //n秒后自动隐藏,为false时,不自动隐藏
  18.         manager: tipsGroupMgr, //设置window所属的组
  19.         constructor: function (conf) {
  20.             $.TipsWindow.superclass.constructor.call(this, conf);
  21.             this.initPosition(true);
  22.         },
  23.         initEvents: function () {
  24.             $.TipsWindow.superclass.initEvents.call(this);
  25.             //自动隐藏
  26.             if (false !== this.autoHide) {
  27.                 var task = new Ext.util.DelayedTask(this.hide, this), second = (parseInt(this.autoHide) || 3) * 1000;
  28.                 this.on('beforeshow', function (self) {
  29.                     task.delay(second);
  30.                 });
  31.             }
  32.             this.on('beforeshow', this.showTips);
  33.             this.on('beforehide', this.hideTips);

  34.             Ext.EventManager.onWindowResize(this.initPosition, this); //window大小改变时,重新设置坐标
  35.             Ext.EventManager.on(window, 'scroll', this.initPosition, this); //window移动滚动条时,重新设置坐标
  36.         },
  37.         //参数: flag - true时强制更新位置
  38.         initPosition: function (flag) {
  39.             if (true !== flag && this.hidden) { //不可见时,不调整坐标
  40.                 return false;
  41.             }
  42.             var doc = document, bd = (doc.body || doc.documentElement);
  43.             //ext取可视范围宽高(与上面方法取的值相同), 加上滚动坐标
  44.             var left = bd.scrollLeft + Ext.lib.Dom.getViewWidth() - 4 - this.width;
  45.             var top = bd.scrollTop + Ext.lib.Dom.getViewHeight() - 4 - this.height;
  46.             this.setPosition(left, top);
  47.         },
  48.         showTips: function () {
  49.             var self = this;
  50.             if (!self.hidden) { return false; }

  51.             self.initPosition(true); //初始化坐标
  52.             self.el.slideIn('b', {
  53.                 callback: function () {
  54.                     //显示完成后,手动触发show事件,并将hidden属性设置false,否则将不能触发hide事件
  55.                     self.fireEvent('show', self);
  56.                     self.hidden = false;
  57.                 }
  58.             });
  59.             return false; //不执行默认的show
  60.         },
  61.         hideTips: function () {
  62.             var self = this;
  63.             if (self.hidden) { return false; }

  64.             self.el.slideOut('b', {
  65.                 callback: function () {
  66.                     //渐隐动作执行完成时,手动触发hide事件,并将hidden属性设置true
  67.                     self.fireEvent('hide', self);
  68.                     self.hidden = true;
  69.                 }
  70.             });
  71.             return false; //不执行默认的hide
  72.         }
  73.     });
  74. })(MyLib);


  75. function showmsg(title, content) {
  76.     var tipw = new MyLib.TipsWindow({
  77.         title: title,
  78.         autoHide: 5, //5秒自动关闭  
  79.         html: content
  80.     });
  81.     tipw.show();
  82. }
复制代码
然后在页面里添加引用
调用
  1. ExtAspNet.PageContext.RegisterStartupScript("showmsg('提示','请不要一次性打开太多的标签页。');");
复制代码
6#
发表于 2012-3-15 10:54:53 | 只看该作者
代码是可用的,本人已使用。
7#
发表于 2012-5-24 16:30:47 | 只看该作者
今天自己做了一个,就是用那个代码加个定时器触发,非常好用!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|FineUI 官方论坛 ( 皖ICP备2021006167号-1 )

GMT+8, 2024-9-28 05:28 , Processed in 0.047683 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表