| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: Применение библиотек > jquery открыть окно и сделать картинку по меньше.. |
| Автор: gcc 19.8.2010, 13:22 | ||
сейчас есть
проблема, что в опере показывается картинка в очень большой размере... а в firefox с начало в меньком, а тобы было в большом надо нажать на мышкой и еще: можно ли сделать чтобы, когда нажать на превью картинки, чтобы открылось окно (так как тут window.open) и там была картинка не в очень большой разрешении, например, 800x500, а когад еще раз нажать чтобы оно становилось в полном размере 1000x1000 (примерно) т.е. когда нажимать в окне на картинку, чтобы оно уменьшалось до 800x500 или становилось больше в максимальное разрешение? как это сделать? в jquery обработчик навесить как-то можно? что надо написать в google чтобы это найти? |
| Автор: gcc 19.8.2010, 20:22 |
| а как менять расширение картинки в этом окне при щелчке? это реально вообще? |
| Автор: Amphiluke 19.8.2010, 20:33 |
| Не уверен, что в точности понял, что вам конкретно нужно. Зачем менять расширение картинки? И что это вообще значит? Было image.jpg, а потом стало image.gif? Так что-ли? Вы когда вызываете метод open, то в первом параметре передаете ему адрес непосредственно изображения или какого-то документа, в котором это изображение вставлено? В любом случае, метод open возвращает ссылку на открытое окно, с помощью которой вы можете получить доступ к содержимому документа в новом окне. Так же получайте доступ к атрибутам изображения — через ссылку на открытое окно. Добавлено через 1 минуту и 7 секунд Ну и обработчики событий (click) можно «навешать» на картинку, пользуясь ссылкой, которую вернул метод open. |
| Автор: gcc 19.8.2010, 20:47 | ||||
есть фотографии очень большого расширения... но не все нужно закачать их на сервер 1) есть превью, маленькое на ней ничего не видно... 2) на превью когда нажать то появится картинка очень и очень большая, где ничего не видно, тоже 2.а) на opere появляется больая, а на firefox нормальная, можно нажать и она уменьшится или увеличится... желательно, нужно сделать так как на firefox, чтобы появлялась картинка не такая большая, а средняя... 3) т.е. тут можно чтобы нажать на превью, и чтобы появилось окно как в window.open( и чтобы там была картинка среднняя (примерно 800х600), а если еще раз нажать, то чтобы она больше стало на все 100%... Добавлено @ 20:48
а есть ли примеры? я в гугле не нашел ничего... как в данном случае навешать? |
| Автор: gcc 19.8.2010, 21:02 |
| или как сделать, чтобы при щелчке на картинке в окне заменить саму картинку ...window.open(pict,... ? |
| Автор: Amphiluke 19.8.2010, 21:20 | ||
Это пример. Дальнейшее преобразование должно быть очевидным.
Добавлено через 3 минуты и 22 секунды Естественно, что размеры картинки можно уменьшить сразу после загрузки документа в новом окне. Нужно показывать, как? Или из примера уже понятно? |
| Автор: gcc 19.8.2010, 22:20 | ||
| спасибо, но я когда нажимаю (кликаю) ТРЕТИЙ раз, оно не уменьшает, уже... можно ли это исправить? http://x0.org.ua/test-js/index.html
|
| Автор: Amphiluke 19.8.2010, 22:44 |
| Что-то я вообще пока что смысла не догоняю… Зачем открывать второе вспывающее окно? Непонятны манипуляции с переменной clik. |
| Автор: gcc 19.8.2010, 22:56 | ||
второе окно я открыл, потому что в одном и том же окне размер не хочет менятся... если сделать его 800 на 600, то оно потом увеличтватся не хочет (хотя может я что-то перепутал) Добавлено через 1 минуту и 57 секунд 1 раз разширение 800 на 600, я сохраняю clik = 1 2 раз, когда кликаю, максимальное разширение, и сохраняю clik =0 а как это по другому сделать? |
| Автор: Amphiluke 19.8.2010, 23:11 | ||
ИМХО, можно обойтись без посторонних переменных.
Добавлено @ 23:14 «Без посторонних» — имеется в виду, без переменных вне обработчика. |
| Автор: gcc 20.8.2010, 00:23 | ||
| Amphiluke, спасибо большое! может кому-то пригодиться, демо: http://x0.org.ua/test-js/index.html ========= остаточный вариант: (мне такой больше подходит, чтобы не переделывать весь сайт)
|
| Автор: gcc 20.8.2010, 12:34 | ||||||
есть проблема, что это почему-то не работает
обработчки почему-то не вешается на id="imglink" видимо на странице очень много глюков... я поставил так:
иногда картинка не ставится с первого раза в 800x500 и щелчки не работают - в опере можно ли как-то максимально жестко задать разрешение 800x500? обработчки почему-то не всегда вешается... по непонятным причинам... Добавлено @ 12:35 я не думал что с этими картинка будет такая проблема, что лучше застрелится... |
| Автор: Amphiluke 20.8.2010, 13:06 | ||||
Я, кажется, тоже замечал. Но не в Opera, а в FF и Chrome (и только в них). Почему-то функция ready там порой срабатывает слишком быстро, и $(wnd.document).find("img") получается равным null. Вы же после открытия окна вообще не дожидаетесь готовности DOM, а сразу ищете и уменьшаете картинку. У меня на текущий момент сейчас вариант используется такой:
То есть все работы с картинкой «впихнуты» в ready(). Впрочем, как я уже говорил, в FF ready() срабатывает почему-то слишком резво, это решается, например, так:
Можно, но только без JQuery. На «чистом» Javascript. |
| Автор: gcc 20.8.2010, 16:38 |
| Amphiluke, работает, спасибо... но теперь по-моиму не работает на самой новой опере 10.6, не уменьшает картинку... у Вас ее нету, посмотрите, пожалуйста, у Вас, тоже, не уменьшает? можно ли это испраивть? |
| Автор: Amphiluke 20.8.2010, 16:57 |
| У меня нет Opera 10.6. В моей старушке O-9.63 работает. Добавлено через 1 минуту и 14 секунд А http://x0.org.ua/test-js/index.html у вас ничего не поменялось. |
| Автор: gcc 23.8.2010, 17:43 | ||
остаточный вариант, по другому никак
|