Показать сообщение отдельно
  #1 (permalink)  
Старый 28.09.2010, 17:41
Новичок на форуме
Отправить личное сообщение для Roosh Посмотреть профиль Найти все сообщения от Roosh
 
Регистрация: 28.09.2010
Сообщений: 8

задержка срабатывания zoomi (увеличения картинки при наведении курсора)
есть фотоальбом (к примеру, 3 на 3 фото), с помощью jQuery и zoomi сделала увеличение картинки при наведении на нее курсора мыши (как делать смотрела здесь http://forum.wm-help.net/topic1643s0.html). Теперь проблема в том, что увеличивается картинка в то же мгновение, как на нее находит курсор, а так как она закрывает полальбома, то получается я не могу просмотреть соседние фото (или картинки, которые в середине фотоальбома - крайние увеличенные изображения закрывают все)
Вопрос в том, можно ли сделать задержку увеличения картинки примерно на 1 секунду? ...чтобы человек выбрал нужное фото и остановил курсор на нужной картинке
фотоальбом здесь http://www.roosh.ru/masters/3-gordeeva-lyubov/vse/

код скрипта zomi
// zoomi - A zoom for images ~ Sean Catchpole - Version 0.9
(function($){

$.fn.zoomi = function() {
  $(this).filter("img").each(function(){
    if(!this.z) {
      $(this).zoom1().mouseover(function(){$(this).zoom2().show();});
      $(this.z).mouseout(function(){$(this).hide();}); }
  });
 return this;
}

$.fn.zoom1 = function() {
  $(this).each(function(){
    var e = this;
    $(e).css({'position':'relative','z-index':'8'}).after('<img class="'+e.className+'">');
    e.z = e.nextSibling;
    $(e.z).removeClass("zoomi").addClass("zoom2").attr("src",e.alt || e.src)
    .css({'position':'absolute','z-index':'10'});
    $(e.z).hide();
  });
  return this;
}

$.fn.zoom2 = function() {
  var s = [];
  this.each(function(){
    var e = this;
    if(!e.z) e = $(e).zoom1()[0]; s.push(e.z);
    if(!e.z.complete) return;
    if(!e.z.width) { $(e.z).show(); e.z.width=e.z.width; $(e.z).hide(); }
    $(e.z).css({left:$(e).offsetLeft()-(e.z.width-e.scrollWidth)/2+'px',
    top:$(e).offsetTop()-(e.z.height-e.scrollHeight)/2+'px'});
  });
  return this.pushStack(s);
}

$.fn.offsetLeft = function() {
  var e = this[0];
  if(!e.offsetParent) return e.offsetLeft;
  return e.offsetLeft + $(e.offsetParent).offsetLeft(); }

$.fn.offsetTop = function() {
  var e = this[0];
  if(!e.offsetParent) return e.offsetTop;
  return e.offsetTop + $(e.offsetParent).offsetTop(); }

$(function(){ $('img.zoomi').zoomi(); });

})(jQuery);

Последний раз редактировалось Roosh, 28.09.2010 в 22:07.
Ответить с цитированием