Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.10.2008, 20:10
Новичок на форуме
Отправить личное сообщение для Виталий С Посмотреть профиль Найти все сообщения от Виталий С
 
Регистрация: 17.10.2008
Сообщений: 6

фото "зум" или что-то вроде этого..
Заказчик просит сделать так, чтобы на странице были маленькие фото-превьюшки, которые при наведении на них мышью увеличивались бы до оригинала. и при этом не должно открываться новое окно (новая вкладка браузера).

Возможно такое средствами javascript? может есть у кого под рукой скрипт с увеличением или с появлением фото.
Ответить с цитированием
  #2 (permalink)  
Старый 01.11.2008, 21:56
Профессор
Отправить личное сообщение для alexKniaz Посмотреть профиль Найти все сообщения от alexKniaz
 
Регистрация: 14.10.2008
Сообщений: 186

То есть как? Что бы они прям на стрнице увеличивались, да?
Тогда так:
<script language="javascript" type="text/javascript">
function showFull(obj)
{
var url=new String(obj);
//Здесь идёт подмена расширений
url=url.replace('.gif','_full.gif');
url=url.replace('.jpg','_full.png');
url=url.replace('.png,'_full.png');
document.getElementById('imgFull').style.display='block';
document.getElementById('imgFull').style.left=event.clientX;
document.getElementById('imgFull').style.top=event.clientY;
}
</script>
<img onmouseover="showFull(this)" src="img.jpg">
<img id="imgFull" onmouseout="this.style.display='none';" style="display:none;position:absolute;">

В данном примере загрузится картинка img_full.jpg
Правила именования файлов при таком подходе:
1) у файла не должно быть двойных расширений типа file.gif.png, ну в общем одно из которых записано в подмене.
2) файл.расширение - уменьшенное изображение.
файл_full.расширение - оригинал.
Если чуть переписать код, то мона так:
файл_short.расширение - уменьшенное изображение.
файл.расширение - оригинал.
Ответить с цитированием
  #3 (permalink)  
Старый 15.08.2010, 18:44
Интересующийся
Отправить личное сообщение для _Dimarik__ Посмотреть профиль Найти все сообщения от _Dimarik__
 
Регистрация: 15.08.2010
Сообщений: 12

разбирая приведённый код, я добавил функцию в свой код, которая происходит при щелчке по фотографии
function PhotoCenter()
{
document.photo.style.display='block';
document.photo.style.left=55;
document.photo.style.top=100;
}
только я так и не понял что значит document.photo.style.display='block'; и где можно про свойство display почитать, киньте ссылку плиз если можно. а то мне одна туфта пока я искал попадалась((
и у меня фотография при щелчке не перемещалась на расстояние в 55 слева и 100 сверху
Ответить с цитированием
  #4 (permalink)  
Старый 15.08.2010, 19:08
Аватар для Snipe
Профессор
Отправить личное сообщение для Snipe Посмотреть профиль Найти все сообщения от Snipe
 
Регистрация: 06.05.2008
Сообщений: 765

http://htmlbook.ru/css/display.html
Ответить с цитированием
  #5 (permalink)  
Старый 20.08.2010, 06:09
Новичок на форуме
Отправить личное сообщение для javs Посмотреть профиль Найти все сообщения от javs
 
Регистрация: 14.08.2010
Сообщений: 8

alexKniaz
В строке 008 пропущена одиночная кавычка
url=url.replace('.png','_full.png');
Ответить с цитированием
  #6 (permalink)  
Старый 20.08.2010, 06:54
Новичок на форуме
Отправить личное сообщение для javs Посмотреть профиль Найти все сообщения от javs
 
Регистрация: 14.08.2010
Сообщений: 8

Сообщение от Виталий С Посмотреть сообщение
Заказчик просит сделать так, чтобы на странице были маленькие фото-превьюшки, которые при наведении на них мышью увеличивались бы до оригинала.
Для начала, я бы убедил заказчика, что без ведома пользователя ничего автоматически "выскакивать" не должно, тем более когда речь идет об изображениях. А затем предложил бы следующее простое решение:

function zoomImg(obj) {
  var ext=obj.src.split('.'); 

  ext=ext[ext.length-1]; 
  obj.src=!obj.src.match('_icon')?
           obj.src.replace(new RegExp('\.'+ext),'_icon.'+ext):
           obj.src.replace('_icon','');
return(true);
}

<div style="background: url(image.jpg) no-repeat;"><img src="image_icon.jpg" onclick="zoomImg(this)"></div>


И миниатюра и изображение здесь должны лежать в одном месте.

Последний раз редактировалось javs, 20.08.2010 в 07:02.
Ответить с цитированием
  #7 (permalink)  
Старый 30.08.2015, 14:25
Новичок на форуме
Отправить личное сообщение для vacus Посмотреть профиль Найти все сообщения от vacus
 
Регистрация: 30.08.2015
Сообщений: 2

Добрый день! Разрешите задать вопрос в вашей теме? т.к. суть темы и обсуждение, практически идентична, моей проблеме. Есть сайт, (пример страницы).При наведении на товар и предпросмотре его по клику на значок "ЗУМ", фото товара отображается, картинкой того же размера, что и текущее фото на странице. Манипуляции с размерами через файрбаг, результатов не дали, можно увеличить размер фото, но оно выходит плохого качества. т.е. получается предпросмотр берется из той же картинки что висит на странице, а она сжата. Фото загружаю лично и они большего разрешения. Как сделать что бы, при клике на значок ЗУМ, картинка выводилась оригинальная из каталога, а не дублировалась со страницы? Та же проблема и в самой карточке товара. Манипуляциями с настройками фото в джумшоппинге, вопрос то же не решил, поскольку при увеличении разрешения, увеличиваются и сами фото в каталоге, т.е. в ряд отображается уже не 4 товара, а например только 2, а нужно что бы в каталоге были небольшие фото, а сам просмотр вел к оригинальным фото.Спасибо.
Ответить с цитированием
  #8 (permalink)  
Старый 30.08.2015, 14:44
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Для jquery.prettyPhoto.js - нужно указать адрес к большим изображениям
Ответить с цитированием
  #9 (permalink)  
Старый 31.08.2015, 14:18
Новичок на форуме
Отправить личное сообщение для vacus Посмотреть профиль Найти все сообщения от vacus
 
Регистрация: 30.08.2015
Сообщений: 2

По решению своего вопроса, нашел в сети это;

- Теперь к тому изображению, которое вы будете выводить с помощью скрипта PrettyPhoto надо добавить ссылку на большое изображение с атрибутом rel=”prettyPhoto” -
<a href="images/fullscreen/2.jpg" rel="prettyPhoto" title="This is the description"><img src="images/thumbnails/t_2.jpg" width="60" height="60" alt="This is the title" /></a>

- и еще вот это -

Главное, чтобы ваша картинка была обернута ссылкой на саму себя!!! Т.е. она стояла в теге:
<а target="_blank" href="путь до картинки">картинка</a>

Но поскольку, не понимаю, язык скриптов. Буду рад если, уделите время и поможете, указав точно, что и где мне прописать/изменить.
Ответить с цитированием
  #10 (permalink)  
Старый 31.08.2015, 14:42
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Да нет тут никакого языка, обычный html. Этому плагину при подключении указывают изображения, которые он будет выводить, а селектором служит атрибут rel="prettyPhoto" тега А, который содержит url большого изображения href="images/fullscreen/2.jpg", и который обрамляет тег малого изображения. Вот и все. Оберните свои малые изображения как указано, заменив images/fullscreen/2.jpg на свои реальные адреса, и будет работать.

В последней версии prettyPhoto атрибут rel вроде бы уже не используется, хотя может я и ошибаюсь, все в памяти удержать сложно.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск