изучаю prototype

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

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

    xorbit Постоялец

    Регистр.:
    13 июн 2007
    Сообщения:
    105
    Симпатии:
    90
    помогите с prototype хочу сделать всплывающую информацию при наведении на картинку то что получилось можна посмотреть здесь http://dp.cult.in.ua/test.html
    но есть проблема при наведении на саму полоску она пытается вернутся назад как это исправить
    спасибо
     
    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
    http://dev.rubyonrails.org/attachment/ticket/8354/event_mouseenter_106rc1.patch




    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 нравится это.
Статус темы:
Закрыта.