我有一组圆圈(.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');
});
答案 0 :(得分:0)
请查看是否可以使用.one()
代替.click()