Поэтому я действительно новичок в javascript, я бы не знал его, если бы от этого зависела моя жизнь. Как-то мне удалось заставить это работать...
<a href="javascript:void(0)" onmousedown="toggleDiv(' , $message['id'] , ');">
Проблема в том, что мне нужно 2 divs для переключения. Я думал, так как они оба имеют одинаковый идентификатор, они будут переключаться между ними, но это не так. Я изменил второй, чтобы иметь "dateline" после идентификатора сообщения. Не уверен, как сделать эту работу и по достоинству оцените руку :).
Я не хочу использовать jQuery.
Был задан вопрос:
echo '<script type="text/javascript">
function toggleDiv(divid){
if(document.getElementById(divid).style.display == \'none\'){
document.getElementById(divid).style.display = \'block\';
document.pageLoading.TCallLabel(\'/\',\'restart_function\');
}
else{
document.getElementById(divid).style.display = \'none\';
}
}
</script>';
Вы не должны использовать один и тот же идентификатор для двух HTML-элементов. Если вам нужен общий селектор, вы должны использовать класс. Тогда ваш скрипт станет:
<script type="text/javascript">
function toggleDiv(divClass){
var divs = document.getElementsByClassName(divClass);
for(var i = 0; i < divs.length; i++){
if(divs[i].style.display == 'none'){
divs[i].style.display = 'block';
// Not sure what this is doing, you may want to move it outside of the loop
document.pageLoading.TCallLabel('/','restart_function');
}else{
divs[i].style.display = 'none';
}
}
}
</script>
onmousedown="toggleDiv(id1); toggleDiv(id2);"
toggleDiv
. @ Ахмад, пожалуйста, не надо. Это достаточно плохо, как есть.