(Ext基础篇) 弹出窗口

2023-11-17

                           从外观上来讲,浏览器自带的alert、confirm、prompt等对话框并不好看,而且配置也不灵活。诸如按钮的添加、删除、以及修改按下按钮所触发的事件等操作都非常难以执行,而在EXT的msgbox里都能实现,而且外观相当漂亮,本节将详细介绍EXT中的弹出窗口。

                           Ext.MessageBox为我们提供了弹出提示框的简单方法,使用它提供的alert、confirm、prompt等对话框完全可以代替浏览器原生的alert、confirm、prompt邓对话框,除此之外,Ext.MessageBox还提供了诸如进度条等更多的功能

1、Ext.MessageBox.alert()的使用方法和效果图(图1所示)

view plaincopy to clipboardprint?
Ext.MessageBox.alert('标题','内容',function(btn){   
    alert('你刚刚点击了'+btn);   
});  
            Ext.MessageBox.alert('标题','内容',function(btn){
                alert('你刚刚点击了'+btn);
            });

 

图1 alert效果图

2、Ext.MessageBox.confirm()的使用方法和效果图(如图2所示)

view plaincopy to clipboardprint?
Ext.MessageBox.confirm('选择框','你到底选择Yes还是No?',function(btn){   
                alert('您刚刚选择了'+btn);   
            });  
Ext.MessageBox.confirm('选择框','你到底选择Yes还是No?',function(btn){
                alert('您刚刚选择了'+btn);
            });

 

图2 confirm效果图

3、Ext.MessageBox.prompt()的使用方法和效果图(如图3所示)

view plaincopy to clipboardprint?
Ext.MessageBox.prompt('输入框','随便输入一些东西',function(btn,text){   
    alert('你刚刚点击了'+btn+", 刚刚输入了"+text);   
});  
            Ext.MessageBox.prompt('输入框','随便输入一些东西',function(btn,text){
                alert('你刚刚点击了'+btn+", 刚刚输入了"+text);
            });

 

图3 prompt效果图

对话框的更多设置

 1、可以输入多行的输入框

Ext.MessageBox.show({
                title:'多行输入框',
                msg:'可以输入多行:',
                width:300,
                buttons:Ext.MessageBox.OKCANCEL,
                multiline:true,
                fn:function(btn,text){
                    alert('你刚刚点击了 ',btn+",刚刚输入了 "+text);
                }
            });


相关属性设置:

buttons:表示对话框中的按钮,Ext.MessageBox已经为我们预设定好了按钮的位置。我们这里使用的是Ext.MessageBox.OKCANCEL,即显示OK和cancel两个按钮

Multilint:表示我们可以输入多行内容,设置为true之后便自动生成一个textarea.

fn:表示回调函数,它会在用户关闭对话框是接受或处理我们需要的结果。

2、自定义对话框按钮

我们可以使用Ext.Message.show()设置对话框中按钮的样式,如下面的代码所示

Ext.MessageBox.show({
                title:'自定义对话框的按钮',
                msg:'从三个按钮中选择一个',
                buttons:Ext.MessageBox.YESNOCANCEL,
                fn:function(btn){
                    alert('您刚刚点击了 '+btn);
                }
            });


 

相关属性设置:buttons参数设置了Ext.MessageBox.YESNOCANCEL,这样在弹出的对话框中可以看到三个按钮。YESNOCANCEL是定义在EXT中的一个变量,它的值是{yes:true,no:true,cancel:true}.

3、进度条

进度条经常用于需要用户等待某一操作完成的场景,当执行一些十分耗时的操作时,我们需要用它来提示用户耐心等待,Ext.MessageBox为我们提供了默认的进度条,只要将progress参数设置为true,对话框中就会出现进度条,如下面的代码所示:

Ext.MessageBox.show({   
                title:'请等待',   
                msg:'读取数据中……',   
                width:240,   
                progress:true,   
                closable:false  
            });  

上面我们虽然已经得到了进度条,但是它的进度状态不会发生变化,我们需要调用Ext.MessageBox.updateProgree()函数让进度条状态发生变化,通常,我们会使用closable:false来隐藏对话框右上角的关闭按钮,从而禁止用户关掉进度条。

现在,我们为上面添加更新进度条的功能,我们使用timeout定时器对进度条进行修改,进度条的状态会随着时间而变化,10秒后整个进度条对话框将隐藏。关键代码如下:

 

上面我们虽然已经得到了进度条,但是它的进度状态不会发生变化,我们需要调用Ext.MessageBox.updateProgree()函数让进度条状态发生变化,通常,我们会使用closable:false来隐藏对话框右上角的关闭按钮,从而禁止用户关掉进度条。

现在,我们为上面添加更新进度条的功能,我们使用timeout定时器对进度条进行修改,进度条的状态会随着时间而变化,10秒后整个进度条对话框将隐藏。关键代码如下:

Ext.MessageBox.show({   
                title:'请等待',   
                msg:'读取数据中……',   
                width:240,   
                progress:true,   
                closable:false  
            });   
               
            var f=function(v){   
                return function(){   
                    if(v==11){   
                        Ext.MessageBox.hide();   
                    }else{   
                        Ext.MessageBox.updateProgress(v/10,'正在读取第 '+v+' 个,一共10个。');   
                    }   
                };   
            };   
            for(var i=1;i<12;i++)   
            {   
                setTimeout(f(i),i*1000);   
            }  


4、动画效果

我们可以为对话框设置弹出和关闭的动画效果,使用animEl参数指定一个HTML元素,对话框就会依据制定的HTML元素播放弹出和关闭的动画。我们修改前面的代码,加入animEl参数实现动画效果,如下面的代码所示:


Ext.MessageBox.show({  
               title:'自定义对话框的按钮',  
               msg:'从三个按钮中选择一个',  
               buttons:Ext.MessageBox.YESNOCANCEL,  
               fn:function(btn){  
                   alert('您刚刚点击了 '+btn);  
               },  
               animEl:'dialog' 
           }); 


animEl参数的值是一个字符串,它与HTML中的一个元素的id相对应,例如<div id="dialog"></div>。依据这个元素的id,我们创建的对话框才知道根据哪个元素播放弹出和关闭的动画

 

 Ext.Window的常用属性

 窗口的相关属性介绍:

el:对应HTML的一个元素。

layout:对应窗口的布局样式(layout:fit表示布局会充满整个窗口)

closeAction:‘hide’是个常数,它用来控制用户单击右上角的关闭图标执行的操作。参数值'hide'表示关闭窗口执行的隐藏操作指令,之后我们还可以使用show()函数来显示刚刚关闭的窗口。如果使用默认值'close',会在关闭窗口是把窗口对象销毁,这样就不能使用show()函数来显示窗口了。

closeable:用户不能使用右上角的关闭按钮

draggable:用户是否可以随意拖动窗口的位置

Buttons :用于设置显示在窗口底部的按钮

items:包含的其他的组件

 

窗口最大化和最小化:设置参数maximizable:true

防止窗口超出浏览器:设置窗口的移动范围constrain和constrainHeader,他们分别用来限制窗口的整体和窗口顶部不能超过浏览器的边界。

设置窗口中的按钮:通过buttons参数指定窗口下部的按钮。通过buttonAlign参数设置按钮的对齐方式。defaultbutton按钮用来设置用户默认选择。

窗口的其他配置属性

resizable:可以用来控制窗口是否可以通过拖动改变大小。

resizeableHandle:用来控制拖动的方式。

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

(Ext基础篇) 弹出窗口 的相关文章

  • 将网站打包成桌面程序并生成安装包(跨平台)

    一 Nativefier将网站打包成桌面程序 介绍 Nativefier 是一个命令行工具 仅仅通过一行代码就可以轻松地为任何的网站创建桌面应用程序 应用程序通过 Electron打包成系统可执行文件 app exe等 对应的可执行文件分别
  • spring mvc oracle 配制,Springmvc+mybatis配置动态切换数据源 并实现mybatis同时支持mysql和oracle数据库...

    注意 配置切换数据源和实现mybatis支持多种数据库为独立的配置 二者不相干 一 实现mybatis支持多种数据库 这里配置扫描不需要区分 扫描全部即可 classpath com mapper xml oracle mysql myba
  • 邮箱发送html php源码,php发送邮件函数,支持html和普通文本

    eol headers Reply To namefrom eol headers Return Path namefrom eol these two to set reply address headers Message ID eol
  • 分享一百多套开发视频教程的下载地址

    原文地址 http www cnblogs com dennisit p 3184225 html 北京圣思Java培训教学视频 资源共享网 2 Lucene WebService SVN Ant SpringMVC视频 学习资料库网 3
  • CMake入门教程:configure_file构建配置编程

    CMake入门教程 configure file构建配置编程 在进行软件开发过程中 配置文件的生成和管理是一个重要且常见的任务 为了简化这一过程 CMake提供了configure file函数 它可以帮助我们在构建过程中动态生成配置文件
  • Python----Python调用C语言方法

    原文链接 1 为什么要使用Python调用C语言 可以将一些耗时的操作的函数使用C语言编写 然后主题代码是python 这样使用python去调用C语言 就可以做既能有python语言的简单性 有可以利用C语言的高性能 从而达到整体既简单又
  • 萌梦聊天室16.9.23.77更新

    App名称 萌梦聊天室 App格式 apk 安卓适用 测试机型Android 4 4 红米2 exe Windows 10 App大小 18 2MB Android 27 7MB Windows 10 更新履历 1 修正Android等移动
  • pcre c语言,pcre函数详细解析

    PCRE是一个NFA正则引擎 不然不能提供完全与Perl一致的正则语法功能 但它同时也实现了DFA 只是满足数学意义上的正则 1 pcre compile 原型 include pcre pcre compile const char pa
  • Windows 2012 DHCP超级作用域的一个坑

    今天在将Cisco交换机DHCP服务改为Windows2012服务器DHCP服务的过程中 发现一个奇怪的现象 环境 Cisco2960S交换机上划分有多个VLAN interface Vlan3 ipaddress 10 86 24 1 2
  • (2021-8-16) QT5 信号与槽

    1 概念 信号 Signal 就是在特定情况下被发射的事件 如点击按钮会发送 click 事件 槽 Slot 就是对信号响应的函数 槽就是一个函数 与一般的 C 函数是一样的 可以 定义在类的任何部分 public private 或 pr
  • C语言中的结构体(struct)

    C语言中 结构体类型属于一种构造类型 其他的构造类型还有 数组类型 联合类型 本文主要介绍关于结构体以下几部分 1 概念 为什么要有结构体 因为在实际问题中 一组数据往往有很多种不同的数据类型 例如 登记学生的信息 可能需要用到 char型
  • TCP滑动窗口和拥塞控制

    目录 滑动窗口 什么是滑动窗口 为什么要使用滑动窗口 滑动窗口的工作原理 滑动窗口会出现的几种问题 数据包丢失怎么解决 ACK丢失怎么解决 拥塞控制 拥塞控制是什么 拥塞控制的实现 理解拓展 拥塞控制是如何判断网络拥塞情况的 滑动窗口 什么
  • 虚拟机防火墙以及端口操作

    CentOS7 firewalld 默认安装 和 iptables 都不是防火墙 它们只是防火墙的管理程序 防火墙的开启 关闭 禁用命令 设置开机启用 禁用防火墙 systemctl enable disable firewalld ser
  • ⛳ 面试题-单例模式会存在线程安全问题吗?

    目录 面试题 单例模式会存在线程安全问题吗 一 单例模式 简介 二 饿汉式 三 懒汉式 3 1 懒汉式 在调用 getInstance 的时候才创建对象 线程不安全 3 2 改造1 对懒汉式进行加锁改造 线程安全 3 3 改造2 对懒汉式继
  • 网络抓包命令

    Linux环境下抓包 可以使用tcpdump命令 tcpdump i ens192 w dataAll pcap port 8008 这其中 ens192 指代网卡 可以通过ifconfig获取 也可以直接用 any 代替 意思是抓取全部网
  • CSS快速实现居中

    上效果 实现 父元素 diplay flex div用 margin auto

随机推荐