view default/static/css.js @ 29:494d740aa3d6

static/css.js: added clicked_cls function: this function toggle "clicked" class on each click, and remove "init" class on first click. Useful to make CSS react easily on clicks.
author Goffi <goffi@goffi.org>
date Sat, 24 Jun 2017 20:25:39 +0200
parents c319291943be
children e296ee56f611
line wrap: on
line source

function set_clicked_class_tag(tag_name, class_name='clicked') {
    for (let elt of document.getElementsByTagName(tag_name)) {
        elt.classList.toggle(class_name);
    }
}

function set_clicked_class_id(trigger_elem_id, target_elem_id=null, class_name='clicked') {
    if (target_elem_id === null) { target_elem_id = trigger_elem_id; }
    document.getElementById(trigger_elem_id).addEventListener(
        "click",
        function() {
            document.getElementById(target_elem_id).classList.toggle(class_name);
        }
    );
}

function clicked_cls(elt) {
    /* toggle "clicked" class on each click, and remove "init" class if present */
    // init
    if (elt.classList.contains("init")) {
        elt.classList.remove("init");
    }

    // clicked
    elt.classList.toggle("clicked");
}