0

好的,我在一个网站上遇到了一个功能,对我来说它看起来很棒,我一直在尝试重新创建一个类似的功能,但甚至无法接近。

您可以在此处查看该功能 - http://mitchell-me.com/ 如果您单击服务。有机电。

当您单击按钮时,圆圈会旋转,其上的图标会淡入新图标,并且 div 会淡出/淡入。我一直在尝试使用 jquery 切换来做到这一点,但我就是无法接近。

我希望在这里获得任何/所有建议或简单的代码示例。在此先感谢我已经为此失去了理智 3 天。

4

2 回答 2

1

他们的 javascript 似乎正在改变 CSS。CSS 进行转换和淡化工作。

窥探了他们的javascript ...

$("#service li").click(function(e){e.preventDefault();var index=$(this).index();$('#service li').removeClass("active");if(!$(this).hasClass("active")&&!intrans){intrans=true;switch(index){case 0:TweenLite.to($(".dial"),1.5,{css:{shortRotation:0},ease:Expo.easeInOut});TweenLite.to($(".gear"),1.5,{css:{autoAlpha:0,rotation:0},ease:Expo.easeInOut});TweenLite.to($(".bulb"),1.5,{css:{autoAlpha:1,rotation:0},ease:Expo.easeInOut});$('#electric, #electric1').delay(800).animate({opacity:1},{easing:easeType,duration:"100",complete:function(){}});$('#mechanic, #mechanic1').delay(200).animate({opacity:0},{easing:easeType,duration:"100",complete:function(){intrans=false}});break;case 1:TweenLite.to($(".dial"),1.5,{css:{shortRotation:115,transformOrigin:"103px 103px"},ease:Expo.easeInOut});TweenLite.to($(".bulb"),1.5,{css:{autoAlpha:0,x:0,y:0,rotation:120,transformOrigin:"20px 40px"},ease:Expo.easeInOut});TweenLite.to($(".gear"),1.5,{css:{autoAlpha:1,x:0,y:0,rotation:120,transformOrigin:"50px 48px"},ease:Expo.easeInOut});$('#electric, #electric1').delay(200).animate({opacity:0},{easing:easeType,duration:"100",complete:function(){}});$('#mechanic, #mechanic1').delay(800).animate({opacity:1},{easing:easeType,duration:"100",complete:function(){intrans=false}});break;}}

看起来他们正在使用TweenliteTweenmax

于 2012-12-23T15:31:42.453 回答
0

我试图在 jsFiddle 中重建这种效果,这就是结果。如果您使用此代码,请确保包含以下内容:<script src="http://jqueryrotate.googlecode.com/files/jQueryRotate.2.2.js"></script>否则旋转将不起作用。所有的旋转和淡化都是通过 jQuery 完成的,以获得更好的兼容性。

于 2012-12-23T15:53:05.030 回答