Mootool 1.1, как остановить событие, когда сделать другое событие - PullRequest
0 голосов
/ 03 января 2011

у меня есть элемент div с эффектом Fx.styles

при наведении курсора: ширина 300px

и mouseleave: эта ширина равна 100px.

Теперь, когда я делаю указатель мыши, ширина изменяется от 200 до 300 пикселей,

Но когда ширина достигает 250 пикселей, я делаю отпуск мышью и думаю, что ширина будет варьироваться от 250 до 100 пикселей.

Я думаю, что это неправильно, ширина от 200 до 300 пикселей, а затем обратно до 100 пикселей.

Как мне кажется, ИСТИНА: D

    <div id="element" style="width:200px;">
        Content content content
    </div>
    <script>
    var myEffects = new Fx.Styles('element',{
                unit: 'px',
                duration: 400,
                });

        $('element').addEvents({
            'mouseover' : function(e){
                new Event(e).stop();
                myEffects.start({
                    'width': 300
                });
            },
            'mouseleave' : function(e){
                new Event(e).stop();
                myEffects.start({
                    'width': 100
                });
            }

        });
</script>

Ответы [ 2 ]

1 голос
/ 03 января 2011

1.11 имеет параметр ожидания, который либо true, либо falseПожалуйста, обновите хотя: -)

1 голос
/ 03 января 2011

в 1.2+ вы можете передать "link": "cancel" экземпляру Fx, и он будет работать.в 1.11 это не так, но вместо этого вы можете применить .stop () к экземпляру:

http://www.jsfiddle.net/zbKLj/

var myEffects = new Fx.Styles('element', {
    unit: 'px',
    duration: 400
});

$('element').addEvents({
    'mouseenter': function(e) {
        myEffects.stop().start({
            'width': 300
        });
    },
    'mouseleave': function(e) {
        myEffects.stop().start({
            'width': 200
        });
    }

});

обратите внимание, вы должны использовать mousenter / mouseleave ИЛИ1010 * / mouseout и не перепутайте их.на самом деле, просто забудьте о паре mouseover / mouseout, так как они могут создавать ложные пузыри в IE, когда у элемента контейнера есть дочерние элементы (он запускает указатель мыши, когда над дочерним элементом).объект опций вызовет ошибки IE, я надеюсь, что это только для примера:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...