Цитата:
str 3093
document.viewport = {
getDimensions: function() {
return { width: this.getWidth(), height: this.getHeight() };
},
getScrollOffsets: function() {
return Element._returnOffset(
window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft,
window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop);
}
};
(function(viewport) {
var B = Prototype.Browser, doc = document, element, property = {};
function getRootElement() {
if (B.WebKit && !doc.evaluate)
return document;
if (B.Opera && window.parseFloat(window.opera.version()) < 9.5)
return document.body;
return document.documentElement;
}
function define(D) {
if (!element) element = getRootElement();
property[D] = 'client' + D;
viewport['get' + D] = function() { return element[property[D]] };
return viewport['get' + D]();
}
viewport.getWidth = define.curry('Width');
viewport.getHeight = define.curry('Height');
})(document.viewport);
Единственный минус: не учитывается compatMode. Но это сейчас уже не столь актуально. |
Очень хрупко...
window.parseFloat(window.opera.version()) < 9.5 Не стал бы таким пользоваться... |
prototype.1.6.1_rc2.js
не до конца понятно для чего этот код. |
Цитата:
|
Цитата:
|
ИМХО
писать такие вещи нада так, что бы в конце всех условий была такая контрукция, которая описана в доках W3C. |
Цитата:
Цитата:
Факт остается фактом: пока ваш вариант некроссбраузерен. Вариант из PrototypeJs, по-вашему, плох, но он работает верно. Когда напишете вашим способом кроссбраузерный вариант, тогда и поговорим. |
Цитата:
|
Цитата:
Цитата:
Никто не говорил, что вариант из prototype плох. Какой способ мне написать?! аналог их объекта?! |
Цитата:
Цитата:
Цитата:
---- Вы слышите только себя и ваше мнение всегда самое правильное? Обсуждение теряет смысл. |
| Часовой пояс GMT +3, время: 00:47. |