JSFiddle - React, Tailwind, and code Playground
HTML
<!doctype html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=7,IE=9" />
<meta name="viewport" content="initial-scale=1, maximum-scale=1,user-scalable=no"/>
<title>Identify Sample</title>
<link rel="stylesheet" type="text/css" href="http://serverapi.arcgisonline.com/jsapi/arcgis/2.4/js/dojo/dijit/themes/claro/claro.css">
<script type="text/javascript">djConfig = { parseOnLoad:true }</script>
<script type="text/javascript" src="http://serverapi.arcgisonline.com/jsapi/arcgis/?v=2.4"></script>
</head>
<body class="claro">
<div data-dojo-type="dijit.layout.BorderContainer"
data-dojo-props="design:'headline',gutters:false"
style="width: 100%; height: 100%; margin: 0;">
<div id="map"
data-dojo-type="dijit.layout.ContentPane"
data-dojo-props="region:'center'">
<div id="controls"></div>
</div>
</div>
</body>
</html>
CSS
html, body { height: 100%; width: 100%; margin: 0; padding: 0; }
#map{ margin: 0; padding: 0; }
#controls { width:180px; height:100px; position: absolute; top: 10px; right: 10px; z-index: 40; color: #000; background: #fff;
border: 1px solid #000; padding: 5px; }
JavaScript
dojo.require("esri.map");
dojo.require("esri.tasks.identify");
dojo.require("dijit.layout.BorderContainer");
dojo.require("dijit.layout.ContentPane");
dojo.require("dijit.layout.TabContainer");
var map, identifyTask, identifyParams;
function init() {
var initExtent = new esri.geometry.Extent({"xmin":-9270392,"ymin":5247043,"xmax":-9269914,"ymax":5247401,"spatialReference":{"wkid":102100}});
map = new esri.Map("map",{extent:initExtent});
dojo.connect(map.infoWindow, "onShow", function() {
dijit.byId("tabs").resize();
});
dojo.connect(map, "onLoad", initFunctionality);
var basemap = new esri.layers.ArcGISTiledMapServiceLayer("http://server.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer");
map.addLayer(basemap);
var landBaseLayer = new esri.layers.ArcGISDynamicMapServiceLayer("http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/BloomfieldHillsMichigan/Parcels/MapServer",{opacity:.20});
// Create check boxes for each layer
// Check on or off depending on layer visibility
dojo.connect(landBaseLayer, 'onLoad', function(svc) {
var controlsNode = dojo.byId('controls');
controlsNode.innerHTML = 'Layers to identify:<br />';
dojo.forEach(svc.layerInfos, function(li, idx) {
createLayerToggle(li, controlsNode);
});
});
map.addLayer(landBaseLayer);
}
function createLayerToggle(li, parent) {
// Create check box
var checkBox = dojo.create('input', {
id: 'chk_' + li.id, type: 'checkbox', checked: li.defaultVisibility
});
// Create a label with layer name
var label = dojo.create('label', {
id: 'lbl_' + li.id,
innerHTML: li.name,
for: 'chk_' + li.id
});
// Add check box and label as children
dojo.place(checkBox, parent);
...