Dojo滑块:动态更新值

时间:2010-12-28 16:54:30

标签: javascript html dojo

我正在构建一个应用程序,用户通过滚动和缩放浏览某些对象。要更改缩放级别,我已成功实现了“dijit.form.Horizo​​ntalSlider”对象。每次用户改变淤泥的位置时,我都可以捕捉到“onChange”电话并对其做一些事情。

但是,用户也可以通过在视图区域内双击来放大,此时滑块应自动更改位置以反映新的缩放级别。

我的问题如下:我应该在我的javascript中调用什么函数或方法来更新dojo silder的位置?

以下是创建silder对象的代码:

var zoomSlider = new dijit.form.HorizontalSlider({
         name: "zoom_slider",
         id: "zoom_slider",
         value: 0,
         minimum: 0,
         maximum: 19,
         discreteValues: 20,
         intermediateChanges: false,
         style: "width: 160px;",
         onChange: function(value) {
            brwsr.view.zoomTo(value);
         }
     },
     "zoom_slider");
navbox_silder.appendChild(zoomSlider.domNode);

2 个答案:

答案 0 :(得分:3)

首先,您需要在示例的配置对象(如id:'zoom_slider1')中定义一个id属性,以获取窗口小部件,然后像这样访问它:

dijit.byId('zoom_slider1').attr('value',whateverthenewvalueis);

请参阅Dijit Basics

答案 1 :(得分:0)

在DanMan想要在滑块创建代码中添加“id”字段之后,我挖掘了dojo的javascript文件并找到了相应的未记录的内部方法。就是这样:

dijit.byId("zoom_slider")._setValueAttr(newvalue);