Javascript添加和删除eventlistner

时间:2019-06-14 10:21:27

标签: javascript gsap

我有一组圆圈(.dot),当我们单击其中的一个圆圈时,它将为另一个元素设置动画。

我正在尝试对其进行设置,以便在单击这些圆圈之一时,此 one 项的鼠标悬停,mouseout和click功能将处于无效状态。

我需要使用addEventListener,然后使用removeEventListener或类似的东西,但是我在实现应在代码中设置的地方遇到麻烦。

这支笔显示了我的意思:https://codepen.io/celli/pen/MMwpjx

在此示例中,我删除了click函数上的addEventListner,因为它不适用于我,并且实现不正确。

// mouseover and mouseout functions
$('.dotWrapper').mouseover(function(event) {
 TweenMax.to($(this).children('.dot'), .25,{scale:3, ease: Circ.easeOut, 
transformOrigin:"50% 50%"});
        });

$('.dotWrapper').mouseout(function(event) {
 TweenMax.to($(this).children('.dot'), .75,{scale:1, ease: Circ.easeOut});
        });

// click function animates
$('.dotWrapper').click(function() {
  TweenMax.to($(this).children('.dot'), .25,{scale:2, ease: Circ.easeOut});
   $('.dot').removeClass('selected');
    $(this).children('.dot').addClass('selected');

  // clear existing lines and dates
   TweenMax.to('.vertLine', .5, {alpha: 0, scaleY:1, ease:Expo.easeOut});
  TweenMax.to('.timelineDate', .5, {alpha: 0, y:-20, ease:Expo.easeOut});

  // animate the date and line
var dateLine = new TimelineMax({ });
  dateLine.to($(this).children('.vertLine'), 1.2, {scaleY:.50,autoAlpha: 1,ease:Expo.easeOut})
          .to($(this).children('.timelineDate'), 1, {autoAlpha: 1,y:20,ease:Expo.easeOut}, '-=1');
        });

1 个答案:

答案 0 :(得分:0)

请查看是否可以使用.one()代替.click()