Javascript onmousedown toggleDiv (переключить 2 деления?)

0

Поэтому я действительно новичок в 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>';
  • 0
    Почему вы не вызываете тумблер дважды? onmousedown="toggleDiv(id1); toggleDiv(id2);"
  • 0
    Пожалуйста, поделитесь функциональным кодом toggleDiv . @ Ахмад, пожалуйста, не надо. Это достаточно плохо, как есть.
Показать ещё 8 комментариев
Теги:

1 ответ

1

Вы не должны использовать один и тот же идентификатор для двух 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>
  • 0
    Это не работает для меня, теперь это не переключает ни div :(
  • 0
    Вы изменили свой вывод div, чтобы использовать класс вместо идентификаторов?
Показать ещё 6 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню