![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| Ghirik |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 919 Регистрация: 26.3.2007 Репутация: 13 Всего: 20 |
Долго ломал голову как выводить объявления в форуме. Пытался сделать плавающюю башню с левой стороны, сильно заужает - страницу. Пробовал крепить горизонтальный блок, и делать плавное возвращение на место - сильно мозолит глаза. Да много чего пробовал, вот более-мение приемлемый вариант:
Используйте други... В этом посте будет всегда лежать последняя версия скрипта, уже лежит... И все баги, обсуждаемые ниже, могут быть уже исправлены. Есть один недостаток, скрипт кривенько работает в Опере, но надеюсь мы, совместными усилиями быстренько поправим этот вопрос. Проблема в Опере с отображением бордюра, если border="1", то всё нормально, а если border="0", то таблица выезжает, но сстановится видимой скачком. Хотя, свойство style.opacity изменяется плавно. Это сообщение отредактировал(а) Ghirik - 22.12.2007, 17:13 -------------------- Отдадим всё клиенту, пускай его машина мучается... |
|||
|
||||
| SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 49 Всего: 401 |
Проверил в 9-й опере, глюков отображения не заметил. Но заметил другую неприятность - если обновить проскролленую страницу, сразу вываливается ошибка "message: Statement on line 30: Could not convert undefined or null to object Line 30 of inline#1 script in ..." (в FF тоже ошибка - "adv has no properties, line 40").
Это сообщение отредактировал(а) SelenIT - 20.12.2007, 23:18 -------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
| Ghirik |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 919 Регистрация: 26.3.2007 Репутация: 13 Всего: 20 |
Это наверное связано с глобальным объявлением
У меня такое то же было, но наоборот после обновление ошибка исчезала, надо поразбираться...
Я смотрю в Опере 9.5 Добавлено @ 23:33 Вот так ошибка в Mozilla исчезает.
SelenIT, Вы наверное не изменили border="1" на border="0", когда смотрели в Опере. Это сообщение отредактировал(а) Ghirik - 20.12.2007, 23:49 -------------------- Отдадим всё клиенту, пускай его машина мучается... |
||||||
|
|||||||
| SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 49 Всего: 401 |
Ой, а ведь и точно... ) Добавлено через 1 минуту и 27 секунд Убрал бордер - с виду все нормально. Опера 9.21. -------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
| Ghirik |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 919 Регистрация: 26.3.2007 Репутация: 13 Всего: 20 |
Забавно,
Сейчас гляну Оперой портабле 9.2. Ха! Что-то я рано проникся уважением к этому браузеру. Портабле, вообще, выводит табличку только сверху, при скролинге вниз, а при скроллинге вверх таблица остается за экраном. Видимо не понимает document.documentElement.clientHeight. Это сообщение отредактировал(а) Ghirik - 21.12.2007, 00:13 -------------------- Отдадим всё клиенту, пускай его машина мучается... |
|||
|
||||
| SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 49 Всего: 401 |
Хех, а я и не заметил даже, что оно должно и снизу выезжать). Только после этого поста обнаружил такое в FF. Тогда согласен, глюк в Опере есть. Похоже, проблема со scrollTop-ом, причем какая-то очень забавная - при скроллинге вверх ползунок начинает сам собой отъезжать вниз, будто что-то (надо полагать, выезжающая табличка;) расталкивает верхнюю часть страницы. Сегодня, к сожалению, нет времени копаться, завтра посмотрю повнимательнее...
-------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
| Ghirik |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 919 Регистрация: 26.3.2007 Репутация: 13 Всего: 20 |
Попробовал вывести в цикле свойства document.documentElement в Опере портабле, она мне выдала километр всяких функций, столько наверное даже во всей винде нет.
Но при этом вначале разглядел, что она клиентской частью считает реальный размер документа, а не видимую область. От сюда и глюк. Вряд ли получится не раздувая скрипт поддержать все релизы Оперы, наверное стоит добиться нормального отображения без бордюра в Опере 9.2-9.5 и на этом успокоиться. Я днем выспался, так что сейчас ещё поковыряю малость... Это сообщение отредактировал(а) Ghirik - 21.12.2007, 00:36 -------------------- Отдадим всё клиенту, пускай его машина мучается... |
|||
|
||||
| Ghirik |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 919 Регистрация: 26.3.2007 Репутация: 13 Всего: 20 |
Собственно, есть надежда, что такой способ вывода объявлений не будет сильно мозолить глаза. Когда человек крутит скрол вниз, он как правило вниз и смотрит, а объявление появляется сверху. И наоборот... Когда скроллинг доходит до шапки страницы объявление не появляется, давая возможность спокойно выбирать пункты меню. Отказаться совсем от использования кликовых объявлений сложно, сайт должен приносить прибыль. Это сообщение отредактировал(а) Ghirik - 21.12.2007, 00:53 -------------------- Отдадим всё клиенту, пускай его машина мучается... |
|||
|
||||
| Ghirik |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 919 Регистрация: 26.3.2007 Репутация: 13 Всего: 20 |
Сколько не мучал оперу, так и не смог найти нормальное решение проблемы.
Дурацкому браузеру - дурацкий бордюр! P.S. Это я в сердцах бросил Вот код с бордюром для оперы:
Это сообщение отредактировал(а) Ghirik - 22.12.2007, 21:54 -------------------- Отдадим всё клиенту, пускай его машина мучается... |
|||
|
||||
| egao |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 109 Регистрация: 6.8.2007 Репутация: -1 Всего: нет |
1. не стоит юзать setInterval.
2. если хочется синхронизации - выполняй все действия одним потоком, а не двумя. |
|||
|
||||
| Ghirik |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 919 Регистрация: 26.3.2007 Репутация: 13 Всего: 20 |
Запускал обе функции по одному таймауту - разницы нет.
-------------------- Отдадим всё клиенту, пускай его машина мучается... |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 15 Всего: 315 |
первый и последний код у меня в ИЕ6 ошибку дали,
так и должно быть? |
|||
|
||||
| AKS |
|
|||
|
Участник форума ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 20.9.2006 Репутация: 27 Всего: 52 |
||||
|
||||
| SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 49 Всего: 401 |
egao, почему? Ну мало ли, может, в окончательном варианте в ф-цию $ будет встроено кеширование... а это пока отладочный вариант, совмещенный с крэш-тестом ;) -------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
| AKS |
|
|||
|
Участник форума ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 20.9.2006 Репутация: 27 Всего: 52 |
||||
|
||||
| SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 49 Всего: 401 |
Никак, но нагрузку, имхо, немного уменьшит...
-------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
| Ghirik |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 919 Регистрация: 26.3.2007 Репутация: 13 Всего: 20 |
Нет, ошибок быть не должно. Я проверял в IE версия 6.0.2900.2180.xpsp_sp2_qfe.070227-2300
Дак это на лету было заменено adv. на $("adv").(через поиск/замена А что, с бордюром в Опере? Нет прогрессивных мыслей? Это сообщение отредактировал(а) Ghirik - 21.12.2007, 19:45 -------------------- Отдадим всё клиенту, пускай его машина мучается... |
||||
|
|||||
| AKS |
|
|||
|
Участник форума ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 20.9.2006 Репутация: 27 Всего: 52 |
||||
|
||||
| Ghirik |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 919 Регистрация: 26.3.2007 Репутация: 13 Всего: 20 |
Ну вот, теперь всё нормально.... надеюсь...
Исправил код в первом посте. Пришлось повторно сделать присвоение adv, теперь при обновлении ошибок нет. AKS, у меня только Опера 9.5b, а что, в других без бордюра работает? Это сообщение отредактировал(а) Ghirik - 21.12.2007, 22:20 -------------------- Отдадим всё клиенту, пускай его машина мучается... |
|||
|
||||
| AKS |
|
|||
|
Участник форума ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 20.9.2006 Репутация: 27 Всего: 52 |
К тому, что уже было написано: могу добавить следующее. Того, что можно наблюдать в версии 9.5 (у меня альфа), я не увидел в 9.00, 9.10, 9.22, 9.25 версиях (все под Windows XP, ранние не упоминаю, т.к. в них нет opacity). Так что пишите разработчикам в "книгу жалоб и предложений", чтобы обратили внимание на эту особенность (мало ли - вдруг они не знают ;) ). А пока что можно сосредоточиться на проблеме с расчетом высоты документа (для Opera), а также добавить обработку события resize окна браузера (чтобы при уменьшении окна плавающий блок уменьшался до новых размеров документа, а при открытии в маленьком окне и "развертке" окна на весь экран блок увеличивался). |
|||
|
||||
| Ghirik |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 919 Регистрация: 26.3.2007 Репутация: 13 Всего: 20 |
AKS, если не трудно, дайте ссылку на книгу жалоб Оперы, я что то не смог найти, лазил, лазил по сайту, английский не бум бум.
У меня, почему то сложилось мнение, что не стоит поддерживать старые релизы Оперы, Опера 9.5 стала понимать клиентскую зону документа через document.documentElement.clientHeight. И вроде бы они начали масштабную компанию по продвижению своего продукта. Есть надежда, что Оперу полюбит большее число ползователей, я буду этому очень рад, потому как мне лично очень симпатичен этот браузер, главным образом за правильное использование ресурсов компьютера. Да, и в новой версии у них поддерживается CSS3. Короче, нравится.....
А нужно ли? Я этот скрипт писал исключительно для вывода кликовых объявлений, они выводятся во фреймах, разумеется без доступа, и соответственно размер фреймов изменить не получится. Другое дело, развить этот скрипт до полной универсальности, ввести переключатели на способы появления на экране, возможность плавания за положением в клиентской зоне, переключение на горизонтальный вывод или чередование и т.д.... Короче пока не уверен по поводу слежения за размерами. Но на счет Оперы 9 (клиентской зоны) подумаю, сейчас качну, и подумаю... Всё же, сейчас многие под ней ходят. Хотя, как неприятно поддерживать вчерашний день... -------------------- Отдадим всё клиенту, пускай его машина мучается... |
||||
|
|||||
| AKS |
|
|||
|
Участник форума ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 20.9.2006 Репутация: 27 Всего: 52 |
||||
|
||||
| Ghirik |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 919 Регистрация: 26.3.2007 Репутация: 13 Всего: 20 |
AKS, спасибо за ссылку.
Стал готовить подачу бага, и как всегда, оказалось баг не в бордюре, а где то в другом месте, хотя проявляется именно через бордюр. Всем всегда говорю, чтобы вычленяли из страницы проблемный кусок и выкладывали. Что мол во время вычленения можно найти причину. Так и есть, нашел... Но не баг, а отсутствие такового:
Покликайте по таблице, хоть с бордюром, хоть без него, всё работает... Помогите, у меня голова кругом Это сообщение отредактировал(а) Ghirik - 22.12.2007, 13:18 -------------------- Отдадим всё клиенту, пускай его машина мучается... |
|||
|
||||
| AKS |
|
||||
|
Участник форума ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 20.9.2006 Репутация: 27 Всего: 52 |
Берегите голову! ;) В head вставьте вот это:
Все будет ОК, если не "прокручивать" страничку. Если же "прокрутить" - баг предстанет во всей своей красе... |
||||
|
|||||
| Ghirik |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 919 Регистрация: 26.3.2007 Репутация: 13 Всего: 20 |
Ок, спасибо, отсылаю баг "оперистам"...
Отправил. Это сообщение отредактировал(а) Ghirik - 22.12.2007, 15:33 -------------------- Отдадим всё клиенту, пускай его машина мучается... |
|||
|
||||
| Ghirik |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 919 Регистрация: 26.3.2007 Репутация: 13 Всего: 20 |
Сделал поддержку Оперы, но в 9.5 получается только с бордюром. Выложил в первом посте.
-------------------- Отдадим всё клиенту, пускай его машина мучается... |
|||
|
||||
| Ghirik |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 919 Регистрация: 26.3.2007 Репутация: 13 Всего: 20 |
Научите, как такое делается... В этом скрипте, может и не нужно, но у меня другие есть -------------------- Отдадим всё клиенту, пускай его машина мучается... |
|||
|
||||
| AKS |
|
|||
|
Участник форума ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 20.9.2006 Репутация: 27 Всего: 52 |
||||
|
||||
| SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 49 Всего: 401 |
AKS, а разве нельзя кешировать каждый объект в новое свойство самой ф-ции? Чем это хуже?
-------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
| AKS |
|
||||
|
Участник форума ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 20.9.2006 Репутация: 27 Всего: 52 |
Что хуже, а что лучше я не знаю. Могу только предположить, что если попадется какой-нибудь элемент с "забавным" идентификатором, вроде такого:
, то ваша $ вернет не то, что Вы ожидаете... |
||||
|
|||||
| SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 49 Всего: 401 |
Упс... точно, про забавные идентификаторы не подумал :(.
-------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
| Ghirik |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 919 Регистрация: 26.3.2007 Репутация: 13 Всего: 20 |
Спасибо за разъяснения.
Я как раз задумался о том, чтобы использовать у всех идентификаторов префиксы. Получается удобно, можно по префиксу понять принадлежность к тому или иному участку кода, да и от конфликтов с зарезервированными названиями гарантированная защита. -------------------- Отдадим всё клиенту, пускай его машина мучается... |
|||
|
||||
![]()
|
| Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |