JS увеличение изображения.

Тема в разделе "JavaScript", создана пользователем aldonin, 14 окт 2011.

Статус темы:
Закрыта.
Модераторы: ZiX
  1. aldonin

    aldonin Создатель

    Регистр.:
    4 янв 2009
    Сообщения:
    41
    Симпатии:
    18
    Здравствуйте.Есть скрипт для увеличения изображения при наведении мышки.Но есть одна проблема.Не получается заставить его сдвигать изображение влево ,а ни вправо при увеличении.
    Кто может подскажите как исправить.
    if (document.images){
    (function(){
    var cos, a = /Apple/.test(navigator.vendor), times = a? 20 : 40, speed = a? 40 : 20;
    var expConIm = function(im){
    im = im || window.event;
    if (!expConIm.r.test (im.className))
    im = im.target || im.srcElement || null;
    if (!im || !expConIm.r.test (im.className))
    return;
    var e = expConIm,
    widthHeight = function(dim){
    return dim[0] * cos + dim[1] + 'px';
    },
    resize = function(){
    cos = (1 - Math.cos((e.ims.jump / times) * Math.PI)) / 2;
    im.style.width = widthHeight (e.ims.w);
    im.style.height = widthHeight (e.ims.h);
    if (e.ims.d && times > e.ims.jump){
    ++e.ims.jump;
    e.ims.timer = setTimeout(resize, speed);
    } else if (!e.ims.d && e.ims.jump > 0){
    --e.ims.jump;
    e.ims.timer = setTimeout(resize, speed);
    }
    }, d = document.images, i = d.length - 1;
    for (i; i > -1; --i)
    if(d == im) break;
    i = i + im.src;
    if (!e.ims){
    e.ims = {im : new Image(), jump : 0};
    e.ims.im.onload = function(){
    e.ims.w = [e.ims.im.width - im.width, im.width];
    e.ims.h = [e.ims.im.height - im.height, im.height];
    e (im);
    };
    e.ims.im.src = im.src;
    return;
    }
    if (e.ims[i].timer) clearTimeout(e.ims[i].timer);
    e.ims[i].d = !e.ims[i].d;
    resize ();
    };
    expConIm.ims = {};
    expConIm.r = new RegExp('\\bexpando\\b');
    if (document.addEventListener){
    document.addEventListener('mouseover', expConIm, false);
    document.addEventListener('mouseout', expConIm, false);
    }
    else if (document.attachEvent){
    document.attachEvent('onmouseover', expConIm);
    document.attachEvent('onmouseout', expConIm);
    }
    })();
    }[/i][/i][/i][/i]
     
  2. bork75

    bork75 Д☼брая собака )

    Регистр.:
    21 июн 2008
    Сообщения:
    1.449
    Симпатии:
    716
  3. aldonin

    aldonin Создатель

    Регистр.:
    4 янв 2009
    Сообщения:
    41
    Симпатии:
    18
    Нет.Там тоже при наведении на изображение оно увеличенно изображение показывает вправо а нужно влево.Тоже самое и в этом скрипте в этом вся проблема тоб не вправо а влево показывало.
     
  4. majahead

    majahead

    Регистр.:
    12 май 2008
    Сообщения:
    376
    Симпатии:
    107
    Гониво какое то... Тут явно чего то не хватает. Нужно демо. Не чего то, а координат как раз и нет, а должны быть.
     
  5. aldonin

    aldonin Создатель

    Регистр.:
    4 янв 2009
    Сообщения:
    41
    Симпатии:
    18
    http://videouroki.su/video-urok-plavnoe-uvelichenie-kartinki-pri-navedenii-na-neyo-kursorom-myshi.html здесь брал.
     
  6. majahead

    majahead

    Регистр.:
    12 май 2008
    Сообщения:
    376
    Симпатии:
    107
    А так картинка просто плавно увеличивается, она не абсолютно позиционирована. Для того чтоб она увеличивалась в другую сторону всё надо переписывать заново и скрипт будет длинней этого.

    И вообще скрипт ИМХО какой то мутный, можно всё проще сделать.
     
  7. bork75

    bork75 Д☼брая собака )

    Регистр.:
    21 июн 2008
    Сообщения:
    1.449
    Симпатии:
    716
    теперь понятно )))

    добавляешь к родительскому тегу выравнивание по правому краю
    style="text-align:right;"

    Или для самого изображения
    style="float:right;"
     
    aldonin нравится это.
  8. aldonin

    aldonin Создатель

    Регистр.:
    4 янв 2009
    Сообщения:
    41
    Симпатии:
    18
    Спасибо все получилось лучший вариант это
    добавить к родительскому тегу выравнивание по правому краю
    style="text-align:right;"
     
Статус темы:
Закрыта.