2015-05-12 3 views
0

Это длинная страница, поэтому я приложу полную документацию, но суммирую здесь. У меня есть ряд элементов карты, которые при щелчке должны активировать страницу описания. Соответствующий код: функция панелиФункция On Click не выполняется

<map id="mapg0" onclick="showPanel('pecheislandrear')" style="position:fixed; z:2"> 
     <area shape="poly" coords="11,13,13,11,14,11,14,3,12,1,11,0,3,0,1,2,0,3,0,11,2,13,3,14,11,14" alt="" title="Peche Island Rear Range" id="mapg0_1"> 
    </map> 
     <img alt="Peche Island Rear Range" onclick="showPanel('pecheislandrear')" usemap="#mapg0" src="LakeErie1_files/reddot.png" id="imageg0" style="position:absolute; z:1; left:210.258015267px; top:348.347527764px; width:14px;height:14px;"> 
    <map id="mapg1" onclick="showPanel('stclairflatsfront')" style="position:fixed; z:2"> 
     <area shape="poly" coords="11,13,13,11,14,11,14,3,12,1,11,0,3,0,1,2,0,3,0,11,2,13,3,14,11,14" alt="" title="St. Clair Flats front Range" id="mapg1_1"> 

шоу:

function showPanel (panelId) 
{ 
    document.getElementById(panelId).style.visibility = 'visible'; 
} 

Даже если вставить «предупреждение» диалог в начале этого, предупреждение не отображается. Но если я заменю

<map id="mapg0" onclick="alert ('pecheislandrear')" 

Я получаю предупреждение, поэтому действует «onclick». Другая часть этого с панели я хочу активировать:

<div id="pecheislandrear" class="panelHidden" style="position:fixed;left:50%;margin-left:-136px;top:50%;margin-top:-211px; 
     z:1;width:272px;height:422px;"> 
    <div id="panel0" style="position:absolute;left:0px;top:12px;width:272px; 
     height:54px;overflow:hidden;"> 
     <p class="Body panelP-5"><span class="panelTitle">Peche Island Rear Range</span></p> 
    </div> 
    <div style="position:absolute;left:24px;top:229px;width:232px;height:136px;overflow:hidden;"> 
     <p class="Normal"><span class="panelDesc">Range lights were 
established off Peche island in 1898. Pile clusters, they were 
repeatedly swept away by ice until 1908 when they were replaced by 
permanent iron and steel structures on cribs. An explosion destroyed the 
front range in 1927, and the rear range was leaning so badly it was 
replaced with a modern structure in 1983. The tower was moved to Marine 
City where it can now be seen on the waterfront.</span></p> 
    </div> 
    <a onclick="var w = window.open(this.href,'_blank','width=1400,directories=yes,location=yes,menubar=yes,resizable=no, 
     scrollbars=yes,status=yes,toolbar=yes'); if(w != null){ w.focus(); }; return false;" href="http://www.lighthousefriends.com/light.asp?ID=165" target="_blank" class="panelOBJ-12 ActiveButton buttonHeight" style="position:absolute;left:84px;top:372px;width:104px;height:21px;"> 
     <span>Learn&nbsp;More</span> 
    </a> 
    <img alt="photo" src="LakeErie1_files/pecherear.jpg" onclick="hidePanels()" style="position:absolute;z:2;left:38px;top:73px;width:201px;height:151px;"> 
</div> 

Весь htm прилагается для обзора. enter link description here Буду признателен руководство. В тестовом случае работало всего 2 объекта. В более длинном случае с 68 нет, и я не мог различить разницу.

+0

ваш онлайн-html работает для меня! Я могу щелкнуть все элементы, и оповещаемое оповещение появится! – Jeff

+0

, но просмотрев свой код, просто небольшой подсказку: для вашей скрывающей функции взгляните на это: http://www.w3schools.com/jsref/met_document_getelementsbyclassname.asp – Jeff

+0

Вместо предупреждений попробуйте console.log (panelId) в начало вашей функции showPanel. Это лучше для отладки. – Eterm

ответ

0

если вы положили alert() внутри showPanel. Это бежит? что если вы попробуете это:

function showPanel (panelId) 
{ 
    document.getElementById(panelId).classList.remove('panelHidden'); 
} 
Смежные вопросы