我正在构建一个应用程序,用户通过滚动和缩放浏览某些对象。要更改缩放级别,我已成功实现了“dijit.form.HorizontalSlider”对象。每次用户改变淤泥的位置时,我都可以捕捉到“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);
答案 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);