JS: цепочка функций, как в jQuery

Во всеми любимом jQuery имеется возможность использования цепочек вызовов функций, можно ,например, написать такую цепочку:

$('#id').add('p').addClass('class').html('text');

А как сделать цепочку для собственноручно написанных функций? Можно, конечно, подключить jQuery и добавить в него свои функции, но вместо слепого использования громоздкого фреймворка, я решил поподробней разобраться с цепочками.

Далее »

  Комментариев нет

JS: получение стилей из CSS

Получить значения CSS стилей элемента можно с помощью метода getComputedStyle или currentStyle для IE. А как объединить эти два метода в кроссбраузерную функцию? Вот что я нашел:

webew.ru

if (!window.getComputedStyle) { 
    window.getComputedStyle = function(el, pseudo) { 
        this.el = el; 
        this.getPropertyValue = function(prop) { 
            var re = /(\-([a-z]){1})/g; 
            if (prop == 'float') prop = 'styleFloat'; 
            if (re.test(prop)) { 
                prop = prop.replace(re, function () { 
                    return arguments[2].toUpperCase(); 
                }); 
            } 
            return el.currentStyle[prop] ? el.currentStyle[prop] : null; 
        } 
        return this; 
    } 
}


window.onload = function() { 
    var cs = window.getComputedStyle(document.getElementById('linkId'), ""); 
    var out = ""; 
    out += "color:" + cs.getPropertyValue("color") + "\n"; 
    out += "float:" + cs.getPropertyValue("float") + "\n"; 
    out += "background-color:" + cs.getPropertyValue("background-color"); 
    alert(out); 
}

xpoint.ru

if (typeof document.defaultView == 'undefined')
  document.defaultView = {};

if (typeof document.defaultView.getComputedStyle == 'undefined')
{
  document.defaultView.getComputedStyle = function(element, pseudoElement)
  {
    return element.currentStyle;
  }
}

javascriptkit.com

function getStyle(el, cssprop){
 if (el.currentStyle) //IE
  return el.currentStyle[cssprop]
 else if (document.defaultView && document.defaultView.getComputedStyle) //Firefox
  return document.defaultView.getComputedStyle(el, "")[cssprop]
 else //try and get inline style
  return el.style[cssprop]
}

Далее »

  Один комментарий

JS: запуск после загрузки страницы

Иногда нет возможности прописать запуск скрипта в <body onLoad=...> или в конце страницы. Приходится использовать событие window.onload, но оно произойдет только после полной загрузки страницы вместе с картинками и флешем. К счастью в нормальных браузерах есть DOMContentLoaded, решающее эту проблему.

Далее »

  Комментарии (2)

Управление чекбоксами

Задача: Выделить все чекбоксы, при нажатии на первый, и снятие выделения, при повторном нажатии.

Казалось бы ничего сложного, но большинство найденных мною скриптов идут с использованием свойства name чекбокса. В моем случае name изменять было нельзя. Так что пришлось немного подумать над созданием своего скрипта.

Далее »

  Комментарии (3)