【发布时间】:2018-11-13 13:01:55
【问题描述】:
在我的 bootstarp 网站中,我添加了 greensock (gsap) 动画。 我有一份汉堡菜单。所以点击汉堡菜单后,现在覆盖从左到右打开类型,但我需要从右到左打开类型。我尽力了,但我无法达到我的期望。所以有人帮我这样做。我插入我提到的网址在代码笔中。
https://codepen.io/larpo1/pen/VjzJQN
这是我在我的网站上尝试过的 gsap 代码
$(document).ready(function(){
var menuIsOpen=false,
$menu=$(".menu"),
$menuItem=$(".menu-item"),
$menuBg=$(".menu-bg"),
$menuToggle=$(".menu-toggle"),
menuWidth=300,
menuItemOffset=150,
menuBgSkew=-10,
timeScale={v:1}
;
TweenMax.globalTimeScale(timeScale.v);
TweenMax.set($menuItem,{
x:-menuItemOffset
});
TweenMax.set($menuBg,{
skewX:menuBgSkew
})
function setTimescale(v){
TweenMax.to(timeScale,0.5,{
v:v,
ease:Quad.easeInOut,
onUpdate:updateTimescale,
onComplete:updateTimescale
});
}
function updateTimescale(){
TweenMax.globalTimeScale(timeScale.v);
}
function openMenu(){
menuIsOpen=true;
TweenMax.to($menu,0.55,{
x:menuWidth,
force3D:false,
ease:Elastic.easeOut,
easeParams:[1.01,0.8]
});
TweenMax.to($menuBg,0.55,{
skewX:0,
force3D:false,
ease:Elastic.easeOut,
easeParams:[1.01,0.8]
});
$menuItem.each(function(i){
TweenMax.to($(this),0.7+(i*0.05),{
delay:0.02*i,
x:0,
force3D:false,
// ease:Quint.easeOut
ease:Elastic.easeOut,
easeParams:[1.1,0.6]
});
});
}
function closeMenu(){
menuIsOpen=false;
TweenMax.to($menu,0.2,{
x:-100,
ease:Quad.easeIn,
force3D:false
});
TweenMax.set($menuBg,{
delay:0.2,
skewX:menuBgSkew,
force3D:false
});
$menuItem.each(function(i){
TweenMax.to($(this),0.3+(0.05*i),{
x:-menuItemOffset,
ease:Quad.easeIn,
force3D:false
});
});
}
function toggleMenu(){
if(menuIsOpen){
$menuToggle.removeClass('menu-open');
closeMenu();
}else{
$menuToggle.addClass('menu-open');
openMenu();
}
}
$menuToggle.click(function(){
toggleMenu();
});
})
【问题讨论】:
标签: javascript css gsap