![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| ksicom |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 13.9.2005 Репутация: нет Всего: 1 |
Как сделать прокрутку изображения как на maps.google.com?
И к тому же кроссбраузерную? |
|||
|
||||
| Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 55 Всего: 137 |
Прокрутку или увеличение (zoom)?
И вообще там сделано на JAVA кажется... |
|||
|
||||
| ksicom |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 13.9.2005 Репутация: нет Всего: 1 |
прокрутку
нет, там не на JAVA там вроде как-то в IFRAME сделано, а вот как понять не могу. не понятно, как механизм "двиганья" устроен. похоже, что документ в iframe много шире отображаемого окошка. Поэтому и кажется, что плавно движется. Но вот куда он подгружает изображения и как собственно устроена прокрутка не понятно... |
|||
|
||||
| Sardar |
|
||||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
По моему там не JS, в сорцах не разбирался. По идее ставишь скролируемый слой overflow: hidden, внутрь ложишь таблицу из картинок на абсолютной позиции, при этом таблица по площади раза в 4 больше площади скролируемого окошка. Двигаем мышой таблицу. Если окошком выходим за границы таблицы, то либо меняем сорцы на картинках и таблицу сдвигаем верёд(может моргать), либо добавляем строки и колонки, старые при этом удаляем(может тормозить). А вообще задача интересная) -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
||||
|
|||||
| Burrr |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 459 Регистрация: 4.9.2005 Репутация: 10 Всего: 20 |
если я не ошибаюсь, то на гугл.мэп при движении картинки возникают пустые области, которые заполняются с пом httpRequest, а для передвижения картинки они кажись используют таблицу, td-шки которой можно изменять и закрывать тем самым части карты.
всё у них выстроено на JavaScript-e могу и ошибиться |
|||
|
||||
| Guest |
|
|||
|
Unregistered |
Вроде как написал.
Собственно вот:
Если кто хочет посмотреть в действии, вот: http://ksicom.homeunix.net:8009/ksicom/zzz14.html Канал стрим и сервер P166 Тянуть медленно и ждать пока загрузится, т. к. одна проблема ещё не решена: Как сделать так, чтобы после того, как переношу картинку с левого (правого, верхнего, нижнего) фланга на противоположный она сначала загружалась, а потом только выдавалась. А то получается "прокрутка" старой картинки. И ещё просьба, покритикуйте пожалуйста, т. к. планируется использовать в реальном проекте И если можно поподробней, т. к. это второй код, написанный мною на JS в жизни. P.S. Тестировал на FF1.07 и IE5, IE6 |
|||
|
||||
| ksicom |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 13.9.2005 Репутация: нет Всего: 1 |
Это я был
Забыл войти |
|||
|
||||
| Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 55 Всего: 137 |
Работает, но линии кривые, т.е. при движении искажаются.
|
|||
|
||||
| ksicom |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 13.9.2005 Репутация: нет Всего: 1 |
Они не кривые
Они просто подгружаются... Т.е. на место старых картинок ставятся новые. Проблема в этом и заключается, что я не знаю как бы так на время подгрузки заменить старую картинку на что-нибудь типа loading или просто пустую картинку src="" и применение к картинке ожидания onload почему-то не помогают Это сообщение отредактировал(а) ksicom - 9.10.2005, 16:35 |
|||
|
||||
| ksicom |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 13.9.2005 Репутация: нет Всего: 1 |
Вот теперь в самый раз
Всё что надо куда надо загружается и пишет Loading Рабочая версия: http://ksicom.homeunix.net:8009/ksicom/zzz16.html И сам скрипт
Ну и самый последний вопрос в рамках этого скрипта: в maps.google этого нету, а я бы хотел Есть ли какая-нибудь возможность снизить приоритет загрузки данного объекта? Т. е. если пользователь резко рванул налево, чтобы все квадратики, которые он быстро прокручивает не грузились, а грузились сразу квадратики на которых он остановился.? Или можно как-нибудь отменить загрузку картинки? Единственное, что мне в голову приходит, грузить картинки (img.src="new src...") не сразу, а после какой-то паузы. Но если так делать, не знаю как отловить из текущего обработчика приход следующего события (т. е. как отловить, что во время паузы юзер всё же сдвинул мышь) |
|||
|
||||
| Sardar |
|
||||||||||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
Работает красиво, респект
К сожалению нет. Браузер может вообще ничего не грузить, пока картинка реально не покажеться пользователю, но из под скриптов этого нет.
Только src="", но некоторые браузеры, например Мозилла будут всё равно грузить картинку, тем самым забивая левый траф)
очень не хорошее свойство, пользователь будет думать что всё тормозит по чёрному
Onload на картинке уведомляет о загрузке, ну а события мыши не прерываються никогда, твой обработчик будет работать. В чём конкретно проблема? -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
||||||||||
|
|||||||||||
![]()
|
| Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |