Итак, у меня есть это приложение, которое кто-то написал несколько лет назад, и оно было сделано не совсем дружелюбно. По сути, в центре страницы расположена панель карты, а справа - панели с вкладками, которые имеют разные параметры поиска для каждого. Dijit не использовался, и на каждой панели есть 2 кнопки: одна для раскрытия и одна для закрытия панели. На кнопках изображений см. Код ниже:
<div align="center" title="Click to Close/Expand" style="background-image:url('images/headerBack.png'); height:30px;" >
<div style="position:relative; width:264px; margin-right:auto; margin-left:auto; height:100%;">
<img src='./images/titleLayerControl.png' dojoAttachEvent="onclick:toggleShowHide" style="position:absolute; top:6px; left:0px; cursor:pointer;"/>
<input type="image" id="close" dojoAttachEvent="onclick:hideWidget" style="position:absolute; top:12px; left:53px;" alt="Close" title="Close" src="./images/minusUp.png" onmouseout="this.src='./images/minusUp.png';" onmouseover="this.src='./images/minusOver.png';"/>
<input type="image" id="expand" dojoAttachEvent="onclick:showWidget" style="position:absolute; top:12px; left:195px;" alt="Expand" title="Expand" src="./images/addUp.png" onmouseout="this.src='./images/addUp.png';" onmouseover="this.src='./images/addOver.png';"/>
</div>
</div>
Это код для кнопок. Теперь у меня есть файл додзе, см. Ниже:
,disableCloseButton:function(){
$('#close').attr('disabled', 'disabled');
$("#close").attr("src", "./images/minusDisabled.png");
}
,enableCloseButton:function(){
$('#close').removeAttr('disabled');
$('#close').attr("src", "./images/minusUp.png")
}
,showWidget:function(){
dojo.style(this.contentNode.domNode,"visibility","visible");
dojo.style(this.contentNode.domNode,"display","block");
var d = this.expandedHeight;
if (ct.isNumber(d) === true){
var c = this.expandedHeight-this.collapsedHeight;
dojo.style(this.domNode,"height",d+"px");
dojo.style(this.contentNode.domNode,"height",c+"px");
} else {
dojo.style(this.domNode,"height",d);
dojo.style(this.contentNode.domNode,"height",d);
}
this.expanded = true;
this.showHook();
this.enableCloseButton();
}
,hideWidget:function(){//302697000
var d =this.collapsedHeight;
var c = 0;
dojo.style(this.contentNode.domNode,"visibility","hidden");
dojo.style(this.contentNode.domNode,"display","none");
dojo.style(this.domNode,"height",d+"px");
dojo.style(this.contentNode.domNode,"height",c+"px");
this.hideHook();
this.expanded = false;
this.disableCloseButton();
}
То, что я хочу сделать, это то, что при нажатии кнопки «закрыть» отключите ее, а при нажатии кнопки «развернуть» активируйте кнопку «Закрыть» и отключите кнопку «развернуть». Как вы можете видеть, у меня есть только 1 метод чтобы показатьWidget и один, чтобы скрытьWidget. Итак, как мне проверить, какая кнопка на какой панели была нажата? Да, я знаю, что есть jquery, смешанный с dojo, несколько человек взломали эту вещь сегодня, это беспорядок. *