Как переделать код, чтобы не вызывать функцию inline.

170
23 марта 2017, 21:39

Есть код, который нужно переделать, но пока не силен в js. Сейчас код вызывается inline через onclick, а мне нужно, чтобы он вызывался непосредственно в js с привязкой к классу или id. Спасибо, всем заранее.

Вот пример http://codepen.io/arianalynn/pen/qbmyRZ

    var open = false;
    function Drop(n) {
        var i;
        if (open == false) {
            for (i = n; i < 5; i++) {
                Drp(i)
            }
            open = true
        } else if (open == true) {
            for (i = n; i < 5; i++) {
                Cls(i)
            }
            open = false
        }
    }
    function Drp(n) {
        var elem = document.getElementsByClassName("menu-con")[n];
        var pos = -1 * window.innerHeight - n * 100;
        var id = setInterval(frame, 5);
        function frame() {
            if (pos >= -10) {
                clearInterval(id);
                elem.style.top = 0 + 'px';
            } else {
                pos += 10;
                elem.style.top = pos + 'px';
            }
        }
    }
    function Cls(n) {
        var elems = document.getElementsByClassName("menu-con")[n];
        var poss = 0;
        var ids = setInterval(frames, 5);
        function frames() {
            if (poss <= -1 * window.innerHeight) {
                clearInterval(ids);
                elems.style.top = -1 * window.innerHeight + 'px';
            } else {
                poss += -7 - n * 2;
                elems.style.top = poss + 'px';
            }
        }
    }
Answer 1

HTML:

<div class="menu-icon" id="my-menu" >
    <div class="menu-bar menu-bar1"></div>
    <div class="menu-bar menu-bar2"></div>
    <div class="menu-bar menu-bar3"></div>
</div>

Javascript:

document.getElementById('my-menu').addEventListener('click', function(e){
    Drop(0);
  e.classList.toggle('hover');
})
READ ALSO
Почему не отображаться мой сайт в Google Knowledge Graph?

Почему не отображаться мой сайт в Google Knowledge Graph?

Почему мой сайт не отображается справа при поиске по слову Fashion Flash?

203
Функция JavaScript для параметризации стринга

Функция JavaScript для параметризации стринга

Ребята помогите мне плиз, хочу чтобы мой output был robin-singh-from-usaПока, что мой output это массив ["robin", "singh", "from", "usa

271
BabylonJS импортировать mesh из json

BabylonJS импортировать mesh из json

Мне необходимо передать несколько фигур разом в виде json на клиент и там отрисовать их при помощи библиотеки babylonJsТам предлагают только вариант...

219
Как подключить Google-client-Api с помощью webpack?

Как подключить Google-client-Api с помощью webpack?

Я новичок в вебпак и не могу никак прикрутить к проекту скриптДо этого я делал как указано здесь, то есть тегами <скрипт> в где второй скрипт...

279