ArtDialog简单使用示例

2023-11-14

  像dojo一样,artdialog也是在网上无意间搜出来的,可惜后来发现它和dojo冲突(最后都是用的dojo的dialog),没办法只有忍痛割爱了。今天花了些时间把http://code.google.com/p/artdialog/downloads/list上的demo整理了一下,把demo.js里的代码都抽出来加到jsp代码中了,这样更直观。代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>art</title>
    <link id="artDialogSkin" href="skins/default.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="artDialog.js"></script>
<script type="text/javascript" src="artDialog.iframeTools.js"></script> <!-- 对iframe的新工具 -->

</head>
<body >
<script type="text/javascript">
    function a(){    
               art.dialog({content:'hello world!历史'})
              }
    function b(){ 
       art.dialog(
        {
            content:'欢迎你来到对话框世界!',
            lock:true,
            style:'succeed noClose'
        },
        function(){
            alert('你点了确定'); //不管点了确定还是取消默认都会关闭artdialog,除非在这里面返回false
        },
        function(){
            alert('你点了取消');
        }
                 );
               }
    function c(){
    art.dialog(
    {
    title:'图片查看',
    fixed:true,
      content:'<img width="817" height="479" src="butterfly.jpg" />'
                 });
    //return false;
   };
    function d(){
   // art.dialog({title:'dialog内嵌iframe', iframe:'http://www.baidu.com', width:'900', height:'500'});

   //已经没有了直接的iframe属性  通过下面的方式内嵌iframe  第二种效果不佳
   art.dialog.open("http://www.baidu.com", {width: 320, height: 400});
   // art.dialog({title:'dialog内嵌iframe', width:'900px',height:'500px', content:"<iframe align='right' src='http://www.baidu.com' width:'100%' height:'100%' />"});
    return false;
   };
    function e(){
    art.dialog(
    {
    title:'动画',
    fixed:true,
      content:'<embed src="ddd.rm" type="audio/x-pn-realaudio-plugin" autostart="true" width="420" height="363"></embed>'
                 });
  
   }; //播放avi总是只有声音,没有画面,哎!
function f(){
    art.dialog({content:'你人品稳定么?', fixed:true, yesText:'我很稳定', style:'confirm', id:'bnt4_test'},
    function(){
           art.dialog({id:'bnt4_test'}).content('你骗人!');
          return false;//这样对话框才不会关闭
        },
     function(){alert('你是坏人');}//按右上角的叉关闭对话框也会执行这个函数
     );
   };
   function g(){
    art.dialog({mouse:true, id:'dg_test34243', content:'您收到 <strong>2</strong> 条消息',left:'right',width:'15em', top:'bottom', fixed:true});
   };
   function h(){
    art.dialog({id:'dg_test34243'}).close();
   };
   function i(){
          var _this = document.getElementById('btn7');
          if (document.getElementById('menu_4834783')) {//如果已经打开了对话框,按这个按钮还能把它关闭
                                                        art.dialog({id:'menu_4834783'}).close();
                                                        _this.innerHTML = '弹出菜单'; //button上显示的内容
                                                        return;
                                                       };
    art.dialog({id:'menu_4834783', title:'菜单', content:'请输入:<input style="width:200px;" id="M_dfd" type="text" value="hello world!" />',
               button:[{name:'确定',callback:function(){ 
                                                      var a=document.getElementById('M_dfd').value;
                                                      art.dialog({content:a, lock:true, time:1});
                                                     }
                        },
                       {name:'关闭我',callback:function(){_this.innerHTML = '弹出菜单';}}
                       ]
              }
              ); 
    _this.innerHTML = '关闭菜单';
    return false;
    };                     
    </script>
<input type="button" style="width: 100px" onClick="a()" value="最简单的对话框"/><br/>
<button id="btn0" onClick="b()">基本示例</button><br/>
<button id="btn1" onClick="c()">显示图片</button><br/>
<button id="btn2" onClick="d()">外部页面</button><br/>
<button id="btn3" onClick="e()">视频</button><br/>
<button id="btn4" onClick="f()">询问</button><br/>
<button id="btn5" onClick="g()">广告</button>
<button id="btn6" onClick="h()">关闭</button><br/>
<button id="btn7" onClick="i()">弹出菜单</button><br/>
</body>
</html>

上面没有用的特性art.dialog({id:'testDialog'}).data.iframe.document.getElementById('test'),也就是说如果在dialog里面嵌入的iframe,parent页面可以通过这种方式取到里面的控件。PS:iframe支持已经改变,没细研究。

在对话框里添加视频的时候,avi格式的总是只有声音没有画面,气死我了!基本上典型应用都有了,以后看一下就会用了,这就是目的,哈哈。还有,artDialg的属性如下(也就是Demo网页上的那几个):

content: {消息内容,支持HTML}

title: {标题.默认:'提示'}
iframe: {嵌入外部页面. 存在content参数时候,此参数无效}
yesText: {确定按钮文本. 默认:'确定'}
noText: {取消按钮文本. 默认:'取消'}

width: {宽度,支持em等单位. 默认:'auto'}
height: {高度,支持em等单位. 默认:'auto'}
left: {x坐标,可以使用关键字,如:'left'、'right'. 默认:居中}
top: {y坐标,可以使用关键字,如:'top'、'bottom'. 默认:居中(注: 小对话框采用黄金比例垂直居中)}
menuBtn: {让对话框在指定元素附近弹出, 存在menuBtn参数则让left、top参数失效}
fixed: {是否启用静止定位. 默认:false}
style: {对话框风格扩展参数,写入自定义className,详情见皮肤css文件的定义,多个用空格隔开}
lock: {是否锁定屏幕, 中断用户操作页面. 默认:false}
id: {给对话框定义唯一标识id名称. 可以防止重复弹出对话框}
time: {多少秒自动关闭}

上面的属性有些已经不支持,属性已经改变更新了好多,详细参见最新下载的doc说明!!


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

ArtDialog简单使用示例 的相关文章

  • 从 iframe 访问 Session 变量

    我有一个 jsp 我在其中设置了会话变量 但是 当我尝试读取另一个 jsp 中的会话变量 user 时 该变量已加载到 iframe 同一主机 服务器等 中 然后我得到 NullPointerException 如何在 iframe 中获取
  • Excel - 查找列中不是错误或空白的最后一个值

    我需要在 Excel 电子表格的一列中找到最后一个非错误 非空白值 该列可以有多个 N A 实例 它们与实际值交替 有多种解决方案可用于查找最后一个非空单元格 但这些解决方案不考虑错误 特别是如果最后一个非空单元格出现错误 在这种情况下 解
  • 将命名参数传递给 Javascript 函数[重复]

    这个问题在这里已经有答案了 使用类似的方法调用 Javascript 函数 someFunction 1 true foo 不熟悉功能的话不是很清楚 我已经看到并使用了插入注释来命名参数的样式 someFunction itemsToAdd
  • 我应该使用函数还是无状态函子?

    这两段代码做同样的事情 如您所见 它将用于排序函数 哪个更好 我通常写后一种 但我看到一些程序员像以前那样做 struct val lessthan binary function
  • 在显示对话框时,我收到“在 onSaveInstanceState 之后无法执行此操作”

    一些用户报告说 如果他们使用通知栏中的快速操作 他们就会被强制关闭 我在通知中显示了呼叫者的快速操作 测试对话框 班级 在测试对话框类中按下 暂停 按钮后 我将显示暂停对话框 private View OnClickListener btn
  • python:函数中的变量,点前面是函数名

    我需要理解这个概念 其中我们可以在函数定义中的变量名中使用点 这里没有类定义 也没有模块 Python 不应该接受包含点的变量名 def f x f author sunder f language Python print x f aut
  • iframe 主体删除空间

    我的 iframe 风格为style width 100 几乎覆盖了页面宽度 但它在左侧和右侧留下了一个小边距 所以我添加了body margin 0px 删除空间 它有效 但问题是删除边距影响其他事物 例如段落 p inside 有没有办
  • 将天气 iframe 嵌入到 Shiny Dashboard 中

    我正在尝试将 Forecast io 的天气预报嵌入到闪亮的仪表板中 我最初在使用 符号时遇到了麻烦 但看到一篇文章提供了如何使用特殊字符格式化 HTML 代码的示例 但是 当我运行该应用程序时 我看到一个简单的 未找到 即使我知道该链接有
  • 对话框不会关闭 primefaces

    我的其中一个页面上有一个对话框 打开很好 如果您使用页面上的按钮 它会关闭 效果很好 但是 如果您尝试 x 退出对话框 它将不会关闭 我相信这与我在对话框上有一个输入字段有关 但我不确定 如果这是一个骗局 我深表歉意 我找不到类似的帖子
  • 在查询中实现函数调用(分组运行总计)

    我有一个函数叫做fxGroupedRunningTotal fxGRT 和查询 总计 我想在 Totals 中调用 fxGRT 以便获得一个显示分组运行总计的列 我只能通过导入总计查询来测试 fxGRT 使用总计并调用 fxGRT 的查询
  • python 3 argparse 调用函数

    我想在 python3 中创建一个类似命令行 类似 shell 的界面 Argparse 似乎负责解析和显示帮助 错误消息 根据argparse 的 python3 文档 https docs python org 3 5 library
  • 全局变量声明

    我是 Python 的初学者 并且已经处理过全局变量的概念 当我以为我理解了这个概念时 我看到了一段简短的代码 证明我错了 message global def enclosure message enclosure def local g
  • Eigen 库:在函数中返回矩阵块作为左值

    我试图将矩阵块作为函数的左值返回 假设我的函数如下所示 Block
  • 如何通过函数注释指示函数需要函数作为参数,或返回函数?

    您可以使用函数注释 http www python org dev peps pep 3107 在python 3中指示参数和返回值的类型 如下所示 def myfunction name str age int gt str return
  • 如何使用 MVVM 打开和关闭新 Windows?

    对于 MVVM 和 WPF 什么是处理打开和关闭新窗口和对话框的好 直接方法 打开和关闭应该由 ViewModel 驱动 对吗 但 ViewModel 不应该知道视图 我通常为此使用接口 例如 如果我想在单独的窗口中编辑记录 我有一个接口
  • 如何将Scheme中的函数应用于另一个函数返回的参数列表?

    假设有两个函数 f 和 v 进一步假设 v 返回长度为 n 的列表 并且 f 需要恰好 n 个参数 我正在Scheme中寻找正确的语法 以将f应用于v返回的列表 如果我使用语法 f v v arguments 然后我收到一个关于 f 需要
  • Delphi - 如果没有创建类,为什么这个函数可以工作?

    考虑这个类 unit Unit2 interface type TTeste class private texto string public function soma a b integer string end implementa
  • 创建新的保护子句

    在 Elixir 中 我将如何为函数创建新的保护子句 显然 我已经看到你不能只调用 a 中的任何函数when声明 但如果能够做这样的事情那就太好了 defmodule Player do def play card player do de
  • 为什么将模块级代码放入函数中然后调用该函数在Python中速度更快?

    在亚历克斯 马尔泰利的回应中使 Python 脚本面向对象 https stackoverflow com questions 1813117 making a python script object oriented 他提到在 Pyth
  • Primefaces 对话框渲染两次

    我创建了一个 ui component 来像弹出窗口一样使用 因此我可以使用此模板的标准创建很多弹出窗口 该组件只是一个带有两个按钮 取消和提交 的弹出窗口和一个可以覆盖的内容 如下所示

随机推荐

  • Cowrie 部署 SSH 蜜罐

    什么是蜜罐 1 何谓SSH蜜罐 通俗的讲 就是用程序模拟一个SSH端口服务 让黑客以为是真的SSH服务连接上来 然后收集相关信息比如 IP 登录所用的账号 登录上来之后做了什么操作等等 2 蜜罐其实就是一台无人使用但却被严密监控的网络主机
  • vue项目重复点击一个路由会报错如何解决

    在新版本的vue router中 重复点击同一个路由会出现以下报错 这个问题时vue router 3 2 0版本的一个小Bug 方法有很多 比如降低路由版本 不推荐 但是推荐下面这种方式 比较简单靠谱 把这段代码直接粘贴到router i
  • openssl websockets

    1 HTTPS通信的C 实现 知乎 GitHub Bwar Nebula Nebula is a powerful framwork for building highly concurrent distributed and resili
  • 数据结构括号匹配问题 C语言

    数据结构中 括号匹配问题可以说是一个非常经典的问题 问题描述 假设一算术表达式中包括三种括号 圆括号 和 方括号 和 花括号 和 且三种括号可按任意次序嵌套使用 试编写程序判定输入的表达式所含的括号是否正确配对出现 提示 表达式可以存入一个
  • 毕业设计 树莓派口罩佩戴检测系统设计与实现 - 单片机 物联网 机器视觉

    文章目录 0 前言 1 简介 2 主要器件 3 实现效果 4 硬件设计 树莓派4B 5 软件说明 Debian Pi Aarch64 树莓派操作系统 vnc 远程连接树莓派 opencv 摄像头人脸数据采集 人脸数据显示等 6 部分核心代码
  • 如何理解遗传算法中的编码与解码?以二进制编码为例

    文章目录 前言 编码 解码 补充 前言 遗传算法的编码方法各种各样 但二进制串编码方式是最经典的一种 那么它的编码和解码该如何进行呢 或许本博客能给你一个具有参考价值的答案 编码 经典遗传算法中使用 染色体 来代指个体 它由二进制串组成 如
  • 考研算法辅导课总结-持续更新中

    这考研算法辅导课总结 建议根据大标题和题号来刷题 排序和进位制 3375 成绩排序 3376 成绩排序2 3373 进制转换 3374 进制转换2 链表和日期问题 66 两个链表的第一个公共节点 3756 筛选链表 3757 重排链表 36
  • 【转】QT中QWS的含义

    QT编程和文档中的术语QWS的全称是Qt windows system 是QT自行开发的窗口系统 体系结构类似X Windows 是一个C S结构 由QWS Server在物理设备上显示 由QWS Client实现界面 两者通过socket
  • 原型设计都有哪些好用的软件?

    原型图的设计软件只多不少 许多新人设计师都不知道怎么样在这些琳琅满目的选择中找到适合自己的 而且也不清楚主流软件究竟是哪些 接下来 本文将主要为大家介绍这方面知识 其实原型图设计有许多软件工具可选择 具体选择哪一款软件还是要取决于原型所需的
  • 计算机中cpu是指什么意思,CPU是什么?CPU又是什么意思?

    在我们的生活中经常会听说CPU这个词 但你可知道CPU是什么意思 其实还有很多朋友不知道CPU是什么意思的 下面我们就来说说CPU到底是什么东西 CPU是英文 Central Processing Unit的缩写 Central Proce
  • poi解析Excel文件版本问题

    poi解析Excel文件时有两种格式 HSSFWorkbook格式用来解析Excel2003 xls 的文件 XSSFWorkbook格式用来解析Excel2007 xlsx 的文件 如果用HSSFWorkbook解析Excel2007 x
  • 分析Python招聘数据,可视化展示招聘信息详情

    前言 一 数据来源分析 1 明确需求 明确采集网站以及数据内容 数据 职位信息 网址 https we 51job com pc search keyword python searchType 3 sortType 0 metro 2 抓
  • 亚信实习第一周

    自从上周五 怀着激动 忐忑的心情来到亚信报到之后 截止到今天 正好上了一周班 对这一周做了什么 进行一下回顾 周一 因为第一天上班 所以起了个大早 来到公司时才八点多一点 九点才上班 由于是第一天上班 就是看了看公司现在做的项目是什么 总体
  • 运行python报错ImportError: Unable to import required dependencies: numpy

    真是气死了 之前在VsCode上用jupyter写python好好的 过了一段时间没写python 今天再一打开运行python代码就出错了 一开始是报的这个错 Error loading preloads Could not find r
  • 串口中断怎么触发两次_“中断”-嵌入式的灵魂

    最近个人情绪不是很好 断了好几天 今天试着恢复每日一更 今天给大家讲一下 中断 一个让我刚开始接触单片机头疼的概念 我相信也是很多初学者头疼的地方 之所以头疼只是因为他太过于抽象 本章我用形象的举例来给大家讲出来 注意 本章节我用Ardui
  • 如何使用nodejs快速搭建本地服务器

    1 首先要安装好node js 2 以下有安装包下载的链接 这里的安装包是 msi 如果要其他的 可以到菜鸟教程上去找 32 位安装包下载地址 https nodejs org dist v4 4 3 node v4 4 3 x86 msi
  • 【Ubuntu】vscode配置PCL库/vscode无法导入PCL库

    问题 PCL库是ROS框架自带的点云处理库 可以通过find package PCL REQUIRED 在CMakeLists txt中导入 但是vscode却无法识别 出现问题如下 注意 本文解决方案仅限Ubuntu 解决方案 打开工程路
  • 如何调用股票交易软件api接口?

    随着人们的生活水平越来越高 人们可以通过公司的股票交易软件api接口来查询股票 也可以用股票交易软件api接口来了解股市 采用正规的界面可以确保数据的准确性 及时的根据股价的涨跌幅度做出一些选择 所以公司所用的股票交易软件api接口非常重要
  • 2019年蓝桥杯省赛-数的分解

    题目 题目链接 题解 DFS 一定看清要求 3 个 不同 正整数 正整数中不能包括2和4 满足加法交换律的算式属于一种情况 代码 include
  • ArtDialog简单使用示例

    像dojo一样 artdialog也是在网上无意间搜出来的 可惜后来发现它和dojo冲突 最后都是用的dojo的dialog 没办法只有忍痛割爱了 今天花了些时间把http code google com p artdialog downl