Я использую следующий скрипт, чтобы открыть окно при наведении мыши и щелкнуть. На моей странице есть много ящиков, которые нужно открыть, и многое другое. Единственный способ, с помощью которого я могу работать в этих боксах, - это каждый ящик, чтобы создать новый togTrigger. Даже когда одно и то же слово открывает ту же самую коробку в другом месте на странице, мне нужен новый togTrigger. В конце концов, я вернусь togTrigger1 togTrigger200 или что-то в этом роде. Это не очень практично. Любой способ уменьшить количество togTriggers необходимо?любой способ уменьшить количество togTriggers необходимо?
<script type="text/javascript">
<!-- HIDE FROM OLD BROWSERS
/* <![CDATA[ */
var oVTog = {
toggle: function (el) {
var container = el.parentNode;
var para = container.getElementsByTagName('p')[0];
para.style.display = "none";
var isClicked = false;
el.onmouseover = function() {
para.style.display = '';
return false;
};
el.onmouseout = function() {
if (!isClicked)
para.style.display = 'none';
return false;
};
el.onclick = function() {
// if it's clicked, change it to TRUE
// if it's clicked again, change it back to FALSE
isClicked = !isClicked; // toggle
para.style.display = ((isClicked) ? '' : 'none');
return false;
};
}
};
window.onload = function() {
var l = document.getElementById('togTrigger');
oVTog.toggle(l);
l = document.getElementById('togTrigger2');
oVTog.toggle(l);
l = document.getElementById('togTrigger3');
oVTog.toggle(l);
l = document.getElementById('togTrigger4');
oVTog.toggle(l);
l = document.getElementById('togTrigger5');
oVTog.toggle(l);
l = document.getElementById('togTrigger6');
oVTog.toggle(l);
l = document.getElementById('togTrigger7');
oVTog.toggle(l);
l = document.getElementById('togTrigger8');
oVTog.toggle(l);
l = document.getElementById('togTrigger9');
oVTog.toggle(l);
l = document.getElementById('togTrigger10');
oVTog.toggle(l);
l = document.getElementById('togTrigger11');
oVTog.toggle(l);
};
/* ]]> */
//END HIDING -->
</script>
это, как я применить скрипт в теле в DIV (страница сделана из многих дивы внутри таблицы,/р не должно быть в пределах DIV, хотя, но он работает):
<a href="#" id="togTrigger"><i>text</i></a>
<p class="togContent">
text
</p>
при наличии двух или более Textboxes в пределах одной и той же DIV, остальные togTriggers находятся в пределах диапазона:
<span><a href="#" id="togTrigger4"><i>text</i></a>
<p class="togContent">
text
</p></span>
Как насчет выбора по классу, а не идентификатора? То есть, если вы вместо этого сделаете все элементы id = 'togTriggerXX' в class = 'togTrigger'. Затем вы можете использовать document.querySelectorAll ('. TogTrigger') или document.getElementsByClassName ('togTrigger') (Преимущество первого заключается в том, что вы можете называть его элементом контейнера, поэтому вы только нацеливаете на него элементы. может также вызвать его в элементе документа, используя '#idContainer .toggleTriggerClassName'). Затем вы получите nodeList. Вы можете прокручивать список, вызывая oVTog.toggle для каждого элемента. – enhzflep
Мне нужен пример кода для этого, потому что мои знания javascript очень ограничены – Martijn