четвер, 29 березня 2012 р.

jQuery: Як клацнути по певному регіоні (jQuery: How to click in certain region)

Уявімо, нам треба клацнути по якомусь елементу, щоб його сховати. Знаходимо цей елемент, додаємо до нього обробку події "click", а також змінюємо CSS стиль відповідним чином.

Якщо ж нам треба клацнути по якомусь регіоні всередині елемента "div"?
Тоді вираховуємо його координати користуючись можливостями jQuery, наприклад, ось так (приклад із сайта на Друпалі):

Drupal.behaviors.samlFirstMsgHide = function(context){
    var scSamlHideFirst = localStorage.getItem("scSamlHideFirst");
    var scSamlFirstVisitMsg = $('div.saml-account-update-message');

    if (scSamlHideFirst){
        scSamlFirstVisitMsg.css("display","none");
    } else {
        scSamlFirstVisitMsg.css("display","block");
        scSamlFirstVisitMsg.click(function(e){
                var minX = 840;
                var minY = 10;
                var maxX = 856;
                var maxY = 24;
                offset = $(this).offset();
                var x = e.pageX - offset.left;
                var y = e.pageY - offset.top;
                if (x < maxX && x > minX && y < maxY && y > minY){
                    $(this).fadeOut();
                    localStorage.setItem("scSamlHideFirst", "true");
                }
        });
    }

};