【发布时间】:2014-02-20 07:17:35
【问题描述】:
有时我的 javascript 代码会与 html 和 css 混合使用。在这种情况下,我的代码无法阅读。 javascript中的javascript和html端是怎么分开的?
例如:(使用javascript dojo工具包)
addLayer: function (layer, index) {
var layerClass = layer.visible === true ? 'layer checked' : 'layer';
var html = '';
html += '<li class="' + layersClass + '">';
html += '<div class="cover"></div>';
html += '<span tabindex="0" class="info" title="MyTitle"></span>';
html += '<span tabindex="0" class="toggle box"></span>';
html += '<div class="clear"></div>';
html += '</li>';
var node = dom.byId('layersList');
if (node) {
domConstruct.place(html, node, "first");
HorizontalSlider({
name: "slider",
value: parseFloat(layer.opacity),
minimum: 0,
maximum: 1,
showButtons: false,
discreteValues: 20,
intermediateChanges: true,
style: "width:100px; display:inline-block; *display:inline; vertical-align:middle;",
onChange: function (value) {
layer.setOpacity(value);
}
}, "layerSlider" + index);
if (!this.layerInfoShowClickHandler) {
this.layerInfoShowClickHandler = on(query(".listMenu"), ".cBinfo:click, .cBinfo:keyup", this._onLayerInfoShowIconClicked);
}
}
}
在这种情况下,我的代码是动态添加 html 到视图侧。将事件处理程序添加到创建的 html 代码。同时添加其他工具(HorizontalSlider)。 此工作流程相互绑定。此代码不可读。有没有办法用干净的代码解决这个问题?
【问题讨论】:
-
您在哪里以及如何使用
HorizontalSlider?我的意思是HorizontalSlider的构建方式还是您的问题与html变量有关?
标签: javascript jquery html css dojo