Если вы захотите узнать позицию скрытого элемента в jQuery, у вас ничего не получиться, а браузер ругнется ошибкой вида:
[Exception... "Could not convert JavaScript argument arg 0 [nsIDOMViewCSS.getComputedStyle]" nsresult: "0x80570009 (NS_ERROR_XPC_BAD_CONVERT_JS)" location: "JS frame :: http://localhost/jquery.js :: anonymous :: line 878" data: no]
http://localhost/jquery.js
Line 878
Один из способов получить желаемую позицию, это отобразить элемент, вызвать метод .position(), а затем скрыть элемент.
Приведу пример кода:
var visEl = el.is(":visible");
if (!visEl) el.show();
var pos = el.position();
// использование pos
if (!visEl) el.hide();Возможно есть и другие решения.
Все современные браузеры кроме IE
уже поддерживают еще не утвержденный язык разметки HTML 5. Нашел недавно сайт Сhrome experiments на котором есть много различных примеров страниц с использованием тега canvas, в основном это различного вида графика, фракталы, и есть даже игры полностью выполнены на JavaScript + рисование на canvas.
Интересно проверить браузеры на производительность, некоторые примеры работают только в Google Chrome.
Особенно удивила игра JS WARS, не использующая Flash, и реализованная полностью на JavaScript.
Все мы знаем как тяжек труд отладки Java Script под IE. В моей практике бывали ситуации, например с manipulations и effects в jquery когда в Firefox все отлично и хорошо, Firebug не предвещает ничего плохого. Когда начинаешь тестировать кросс-браузерность (в наше время это если IE 6,7 работает без глюков
), в IE 6 все не понятно съезжало и валились ошибки (как потом оказалось, используя визуальные эффекты при позиционировании слоев, формула вычисления позиции выдавал отрицательное значение, в этом и была ошибка на которую ругался IE), естественно отладчик поставляемый с MS Office и встраиваемый в IE, выводил номер сроки, она была где-то 7085, и искать в большом количестве js файлов не представлялось возможным. Читать далее...