| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Вёрстка веб-сайтов > Виной всему <DOCTYPE> |
| Автор: Black 3.6.2005, 14:16 |
| Виной всему эта строчка: <!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\"> Она не позволяет нормально работать методу scrollTop. Значения то метод возвращает, а вот динамически их менять нельзя, тем самым не получается заставить scroll прокручиваться по щучьему велению, по моему хотению. Если <!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\"> убрать, то все работает как я хочу. Ну и что сделать. Хочется то держать стандарт, т.е. DOCTYPE хочется оставить в документе. Хотя руки уже чешутся его удалить. Из-за него я потерял 2 часа. Так как не мог понять почему ничего не работает??? P.S. на форуме scroll в последнее время обсуждают Теперь и scroll постираем. |
| Автор: Black 3.6.2005, 15:20 | ||||||
| Все равно ничего не пойму... Такая констукция работает:
а такая нет:
d.scrollTop==d.scrollHeight - разве так нельзя писать ???? Добавлено @ 15:25 О придумал
так работает |
| Автор: Sardar 3.6.2005, 15:26 | ||
| Просто парни из W3C иногда такую муть придумают, по началу не логично, но если следовать их мысли, то в целом "принять можно". Хотя писать в Quirksmode (режим совместимости, без доктайпа) не стоит, нет уверенности что во всех браузерах будет одинакого выглядеть. Хотя и с доктайпом разные бродилки рендерят по разному Интересно что с каждой новой спецификацией (X)HTML отменяют всё больше тегов и аттрибутов О скроле, скрол будет работать без проблем, но только не для body(забыл по чему, но было логичное обьяснение Добавлено @ 15:27
Это сравнение, а не присваивание |
| Автор: Black 3.6.2005, 16:00 | ||||||||||||
Sardar
т.е. надо убирать тег <DOCTYPE> для страниц содержащих много JavaScript'ов
и правда... с этим доктайпом у меня уже глюки пошли. Пойду ударюсь головой об стенку может поможет
я свой сайт тоже на слоях сделал. Использовал три тега
+ CSS Получилось без JavaScript'a На дивах хорошо сделан сайт: http://www.softbeta.com/ и http://hunter.vingrad.ru/ ------------------------- теперь скрипт:
запускается всякий раз когда приходят новые сообщения в чат chat - фрейм в котором лежит окно куда пишутся фразы. chat - название id для div'a куда добавляются сообщения чата. Содержимое фрейма chat:
Если без доктупе, то все работает, а если с ним, то нет эффекта |
| Автор: Sardar 3.6.2005, 16:53 | ||||
Наоборот, и при чём здесь "много скриптов" ?
Да, получилась хорошая инфа как оторбразить контент, но структуры нет(попробуй распарсить такой документ и вывести summary, поймёшь о чём я) По поводу чата, крути не окно chat, а вложи туда ещё слой и в этот слой клади мессаги. Изменяй scrollTop этого вложеного слоя. |
| Автор: Иль 3.6.2005, 17:22 |
| PHP-DIRECTOR, дело не в скрипте, а как им пользоватьсяю. Если я не ошибаюсь, ты глюк ловишь только в Gecko, правильно? Просто эта группа браузеров имеет два режима работы, их можно назвать режим ИЕ без <DOCTYPE> и режим W3C, те полного соответствия стандартам - называется "ничего знать не желаю и про какой-то ИЕ вообще не слышал". Сами Мазиловцы говорят что если хорошо намутить, то например FX(лиса) сама свалится в режим ИЕ, хотя на практике я не встречал. Если что не так - поправте... А вообще в ИЕ у меня глюк с <DOCTYPE> еще не разу не проявлялся - у вас есть другие данные? Давайте здесь сложим все встретившиеся с ним глюки. |
| Автор: Aliance 3.6.2005, 17:53 | ||
У меня пару раз... в исключительных ситуациях... остальными браузерами не пользуюсь :-) Нужно Quirksmode почитать... может там что есть.. |
| Автор: Black 3.6.2005, 21:55 |
| Иль в IE с <DOCTYPE> тоже не работает. Я так понимаю свойства scrolla'а являются устаревшими и работают в режиме совместимости со старыми браузерами а не со стандартами от W3C А стандарты включаются при использовании <DOCTYPE> |
| Автор: Иль 3.6.2005, 21:57 |
| Ничего себе, не знал. Хорошо что сказал! |
| Автор: Sardar 3.6.2005, 22:20 | ||
Вроде бы устаревшими они не являються и нормально работают с доктайпами и без, правда требуют подхода, например body скролиться не будет |
| Автор: Иль 3.6.2005, 22:50 |
| Да я тоже думаю, что ИЕ плювать на доктайпы Добавлено @ 22:54 по опыту конечно. Сейчас то уже по очереди тестируешь, а раньше наработаеш в ИЕ и проверяешь в Gecko, так сто раз на этом доктайпе горел, до белого коленя доходил. Еще про JS не знал ничего, а уже научным тыком вывел - убираем доктайпы |
| Автор: Black 3.6.2005, 23:01 |
| Иль Sardar Все верно говорил Sardar. Методы не устаревшие и работают. Моя ошибка была как всегда в самом элементарном. Для div'a я установил height в процентах - поэтому и не работало. Если я укажу значение в px тогда работает. Т.е. надо так: position:relative;height:100px;overflow:auto; но не так: position:relative;height:100%;overflow:auto; Теперь работает и с <DOCTYPE> Проверил в IE 6.0 и в FireFox 1.0.4 |
| Автор: Opik 4.6.2005, 08:39 |
| PHP-DIRECTOR а если нужно именно 100%? |
| Автор: Black 4.6.2005, 09:55 |
| Opr вот в этом и проблема. Сейчас пытаюсь скриптом выяснять размер окна и ставить этот размер в стиль к диву где содержится сообщения чата. Мне то тоже надо 100%. А с ним почему-то не работает Если получится выложу код. |