2011-01-28 92 views
0

我想在我的网站上弹出模态窗口(这是一个窗口,背景为不透明),以显示一些数据。请检查下面的图片:如何在背景中以不透明的方式获取弹出窗口?

Image http://img714.imageshack.us/img714/1592/gggggol.jpg

我想用类似的实现为:http://www.smartclient.com/?skin=Enterprise#modality 但我无法弄清楚如何做到这一点。任何人都可以帮我实施这个吗?我找不到要从这里下载的文件:http://www.smartclient.com/product/download.jsp
是不是像MooTools或jQuery框架?我不明白从他们下载的库中包含哪个文件。 有人可以给我一个例子的HTML页面代码来做到这一点?

另一件事是,我看到了他们的源下面的代码:

  isc.IButton.create({ 
       ID: "touchButton", 
       width: 120, 
       title: "Touch This" 
      }); 

      isc.Label.create({ 
       left: 150, 
       height: 20, 
       contents: "<a href='http://www.google.com' target='_blank'>Open Google</a>" 
      }); 

      isc.IButton.create({ 
       title: "Show Window", 
       top: 35, 
       left: 75, 
       click : function() { 
        touchButton.setTitle("Can't Touch This"); 
        modalWindow.show(); 
       } 
      }); 

      isc.Window.create({ 
       ID: "modalWindow", 
       title: "Modal Window", 
       autoSize:true, 
       autoCenter: true, 
       isModal: true, 
       showModalMask: true, 
       autoDraw: false, 
       closeClick : function() { touchButton.setTitle('Touch This'); this.Super("closeClick", arguments)}, 
       items: [ 
        isc.DynamicForm.create({ 
         autoDraw: false, 
         height: 48, 
         padding:4, 
         fields: [ 
            {name: "field1", type: "select", valueMap: ["foo", "bar"]}, 
            {name: "field2", type: "date"}, 
            {type: "button", title: "Done", 
            click: "modalWindow.hide();touchButton.setTitle('Touch This')" } 
           ] 
        }) 
       ] 
      }); 

我关心下面的代码:

  fields: [ 
         {name: "field1", type: "select", valueMap: ["foo", "bar"]}, 
         {name: "field2", type: "date"}, 
         {type: "button", title: "Done", 
         click: "modalWindow.hide();touchButton.setTitle('Touch This')" } 
        ] 

可以有一个人请告诉我这是什么样的代码?有没有像MooTools或jQuery中提供的东西? 我对这些事情是n00b。请帮忙。先谢谢你。

回答

0

如果你想创建模式对话框,你可以很容易地使用Jquery UI对话框,并将你的表格 添加到对话框中。

Jquery UI Dialog

+0

嗯,我知道如何在jQuery或MooTools中创建模态窗口。但我很好奇SmartClient中的情况如何:http://www.smartclient.com/product/download.jsp,因为它具有许多其他功能,我也愿意为我的页面实施这些功能。尽管谢谢你的回复。 – cavlar 2011-01-28 04:42:58

3

SmartClient的是它自己的RIA框架,您发布的代码是自己的语法。

代码你见下文:

fields: [ 
    { 
     name: "field1", 
     type: "select", 
     valueMap: ["foo", "bar"] 
    }, 
    { 
     name: "field2", 
     type: "date" 
    }, 
    { 
     type: "button", 
     title: "Done", 
     click: "modalWindow.hide();touchButton.setTitle('Touch This')" 
    } 
] 

是其中阵列成员字面定义的对象的简单文字数组定义。这不是特定于mootools或jquery或任何框架,它只是JavaScript。另外,阅读JSON(javascript对象表示法),基本上是上述的一种传输形式。

为mootools的UI类似的版本:

  • mochaui。 http://mochaui.org/demo/ - 我等了一会儿,他们很可能会发布一个新的突破性的版本,使它与mootools 1.3一致并修复负载。
  • LSD - 通过mootools的ART迷你UI - https://github.com/Inviz/lsd#readme(一个许多前来,期望从Cloudera的东西为好,也许)
  • moolego UI - http://ui.moolego.org/ - 似乎虽然停滞 - 在github上最后一次提交的是从11个月前。
  • 看看摩托车锻造。
  • 使你自己!以往那么容易,这些天,尤其是HTML5
0

首先你需要熟悉JavaScript来理解上述SmartClient的代码,我相信你已经是。

现在关于代码: 的SmartClient已建立其所有的组件,以支持JSON/XML数据格式。我们不在这里讨论xml(可扩展标记语言)。

现在关于JSON(JavaScript对象表示法);如果你知道JavaScript,Json是非常简单和标准的格式。将任何信息/参数传递给客户机/服务器;就像我们在html前一样。访问www.google.com吗? param =值; json用冒号“:”分隔每个参数(键)和值。现在,如果您看到上面的代码,则任何“{”和“}”之间的所有属性(params)和值都代表一个json。如果花括号“{}”嵌套,则存在嵌套的jsons,如果jsons位于长括号“[]”之间,那么它表示json数组。

Ex。如果有任何实体的表说用户,那么它的JSON将 [{用户1 JSON ...},{用户1 JSON ...}等等...]

但如果有任何一个HTML表单(SmartClient的是DynamicForm),那么一个JSON是足够{与各界形式JSON ...}

让我们再一次重温代码: 的第一行是 ISC。 IButton.create - SmartClient属于同构(isc),所以任何isc组件都使用isc.COMPONENT.create({})创建;之间“({...})”你需要写json其中宽度:120不过是一个json。

喜欢点击的任何事件,closeClick中的代码是什么,但像HTML鼠标悬停一个javascript匿名函数。

在有嵌套JSON和JSON元件和窗口阵列的isc.Window.create代码与给​​定属性的SmartClient特定成分。

最后例如: 如果存在实体用户:具有属性rollNo为1,名称:“无名称”,那么它的JSON将是: {“用户”:{“rollNo”:“1”,“名称“: ”没有名字“}} 或 {” rollNo “: ”1“, ”名称“: ”没有名字“}

,并且如果有两个这样的用户,那么 [ {” rollNo” : “1”, “名”: “杂牌-1”}, { “rollNo”: “2”, “名”: “杂牌-2”} ]

,并回答您的关于不透明度的问题是;使用以下属性在窗口部件: modalMaskOpacity:50 此属性控制模态掩模的模式窗口后面显示的不透明性和的值从0(透明)变化到100(不透明)

由于 shaILU