2013-02-08 2 views
0

Итак, я пытаюсь создать функцию многократного использования, которую использует каждый .featured-образ на моей странице. если я не использую базовые события: и я просто пишу код, который закомментирован, он работает. Как я могу получить события imageOver и imageOut, имитирующие прокомментированный код?Как я могу передать currentTarget моей мыши в функцию timelineMax

app.newsroomPageElementView = Backbone.View.extend({ 

events: { 
     'mouseenter .featured-image': 'imageOver', 
     'mouseleave .featured-image': 'imageOut' 
    }, 

     initialize: function() { 
     $(".featured-image").each(function(index, element){ 
     var tl = new TimelineLite({paused:true}); 
     tl.to(element, 0.2, {opacity:.9, scale:.9}) 
     .to(element, 0.2, {backgroundColor:"#004", color:"orange"}, "-=0.1") 
     element.animation = tl; 
     }) 

    // This part works if i don't use imageOver and imageOut 

    // $("li").hover(over, out); 

    // function over(){ 
    // this.animation.play(); 
    // } 

    // function out(){ 
    // this.animation.reverse(); 
    // } 

     }, 

     imageOver: function (e) { 
      // What goes here? 
     }, 
     imageOut: function (e) { 
      // What goes here? 
     } 

    }); 

ответ

1
imageOver: function (event) { 
     var target = event.currentTarget; 
     // What goes here? 
     target.animation.play(); 
    }, 
    imageOut: function (event) { 
     var target = event.currentTarget; 
     // What goes here? 
     target.animation.reverse(); 
    } 
1

Используя событие хеширования вы можете получить доступ к цели события через event объект и все еще получить доступ к экземпляру просмотра через this

imageOver: function (event) { 
     $(event.target).animation.play(); 
    }, 
+0

неопределенные. Я думаю, что у меня все работает. – Zuriel

Смежные вопросы