изучаю prototype

Тема в разделе "Другие языки", создана пользователем xorbit, 15 авг 2008.

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

    xorbit Постоялец

    Регистр.:
    13 июн 2007
    Сообщения:
    105
    Симпатии:
    90
    помогите с prototype хочу сделать всплывающую информацию при наведении на картинку то что получилось можна посмотреть здесь Перейти по ссылке
    но есть проблема при наведении на саму полоску она пытается вернутся назад как это исправить
    спасибо
     
    TrueBit нравится это.
  2. myweb

    myweb Среда обитания WEB

    Регистр.:
    10 сен 2007
    Сообщения:
    539
    Симпатии:
    246
    вот ето
    PHP:
     $("view").observe('mouseover', function(){ $("info").morph('bottom:0px', {duration:.2}); });  
    помоему и прячит полоску.
     
  3. xorbit

    xorbit Постоялец

    Регистр.:
    13 июн 2007
    Сообщения:
    105
    Симпатии:
    90
    ну да так и задумано при наведении появляется при выходе из картинки скрывается

    изменил на

    $("view").observe('mouseenter', function(){ $("info").morph('bottom:0px', {duration:.2}); });
    $("view").observe('mouseleave', function(){ $("info").morph('bottom:-30px', {duration:.3}); });

    заработало как нужно но только в IE, opera & firefox выпали как это исправить?
     
    TrueBit нравится это.
  4. xorbit

    xorbit Постоялец

    Регистр.:
    13 июн 2007
    Сообщения:
    105
    Симпатии:
    90
    все нашел сам тему можно закрыть

    пришлось пропатчить сам файл prototype.js - 1.6.0.2
    Перейти по ссылке




    function getDOMEventName(eventName) {
    if (eventName && eventName.match(/:/)) return "dataavailable";
    + if(!Prototype.Browser.IE) eventName = {mouseenter: "mouseover", mouseleave: "mouseout"}[eventName] || eventName;
    return eventName;
    }

    @@ -159,6 +160,15 @@
    handler.call(element, event)
    };

    + if (!(Prototype.Browser.IE) && ['mouseenter', 'mouseleave'].include(eventName)){
    + wrapper = wrapper.wrap( function(proceed, event) {
    + var rel = event.relatedTarget, cur = event.currentTarget;
    + if (rel && rel.nodeType == Node.TEXT_NODE) rel = rel.parentNode;
    + if (rel && rel != cur && !rel.descendantOf(cur))
    + return proceed(event);
    + });
    + }
    +
    wrapper.handler = handler;
    c.push(wrapper);
    return wrapper;
     
    TrueBit нравится это.
  5. pozitiv

    pozitiv Постоялец

    Регистр.:
    25 ноя 2007
    Сообщения:
    58
    Симпатии:
    5
    Тоже начал изучать prototype, можете подсказать полезные ресурсы по библиотеке, желательно с примерами и исходниками...

    ajaxrain непредлагать=)
     
  6. xorbit

    xorbit Постоялец

    Регистр.:
    13 июн 2007
    Сообщения:
    105
    Симпатии:
    90
    TrueBit и pozitiv нравится это.
Статус темы:
Закрыта.