Во всеми любимом jQuery имеется возможность использования цепочек вызовов функций, можно ,например, написать такую цепочку:
$('#id').add('p').addClass('class').html('text');
А как сделать цепочку для собственноручно написанных функций? Можно, конечно, подключить jQuery и добавить в него свои функции, но вместо слепого использования громоздкого фреймворка, я решил поподробней разобраться с цепочками.
Далее »
Комментариев нет
Получить значения 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]
}
Далее »
Один комментарий
Иногда нет возможности прописать запуск скрипта в <body onLoad=...> или в конце страницы. Приходится использовать событие window.onload, но оно произойдет только после полной загрузки страницы вместе с картинками и флешем. К счастью в нормальных браузерах есть DOMContentLoaded, решающее эту проблему.
Далее »
Комментарии (2)
Задача: Выделить все чекбоксы, при нажатии на первый, и снятие выделения, при повторном нажатии.
Казалось бы ничего сложного, но большинство найденных мною скриптов идут с использованием свойства name чекбокса. В моем случае name изменять было нельзя. Так что пришлось немного подумать над созданием своего скрипта.
Далее »
Комментарии (3)