更干净的写法
我正在学习 JS,正在努力提高我的技能。我想知道是否有一种编写此代码的方法不需要重复这么多元素。代码如下。
// 升起 3 个面板 //面板1
$j(".col1").mouseenter(function(){
$j(".t1").stop().animate({opacity: 1, marginTop:'-20px'},{queue:false, duration:300, easing: 'easeOutExpo'} );
$j('.t1').addClass("active");
});
$j(".col1").mouseleave(function(){
$j(".t1").stop().animate({opacity: 1, marginTop:'0px', backgroundColor:'#343536'},{queue:false, duration:300, easing: 'easeOutExpo'});
$j('.t1').removeClass("active");
});
//面板2
$j(".col2").mouseenter(function(){
$j(".t2").stop().animate({opacity: 1, marginTop:'-20px'},{queue:false, duration:300, easing: 'easeOutExpo'} );
$j('.t2').addClass("active");
});
$j(".col2").mouseleave(function(){
$j(".t2").stop().animate({opacity: 1, marginTop:'0px', backgroundColor:'#343536'},{queue:false, duration:300, easing: 'easeOutExpo' });
$j('.t2').removeClass("active");
});
//面板3
$j(".col3").mouseenter(function(){
$j(".t3").stop().animate({opacity: 1, marginTop:'-20px'},{queue:false, duration:300, easing: 'easeOutExpo'} );
$j('.t3').addClass("active");
});
$j(".col3").mouseleave(function(){
$j(".t3").stop().animate({opacity: 1, marginTop:'0px', backgroundColor:'#343536'},{queue:false, duration:300, easing: 'easeOutExpo'} );
$j('.t3').removeClass("active");
});
I'm just learning JS and am trying to improve my skills. I'm wondering if there's a method of writing this code that doesn't require repeating so many elements. Code below.
// raising 3 panels
//panel 1
$j(".col1").mouseenter(function(){
$j(".t1").stop().animate({opacity: 1, marginTop:'-20px'},{queue:false, duration:300, easing: 'easeOutExpo'} );
$j('.t1').addClass("active");
});
$j(".col1").mouseleave(function(){
$j(".t1").stop().animate({opacity: 1, marginTop:'0px', backgroundColor:'#343536'},{queue:false, duration:300, easing: 'easeOutExpo'});
$j('.t1').removeClass("active");
});
//panel 2
$j(".col2").mouseenter(function(){
$j(".t2").stop().animate({opacity: 1, marginTop:'-20px'},{queue:false, duration:300, easing: 'easeOutExpo'} );
$j('.t2').addClass("active");
});
$j(".col2").mouseleave(function(){
$j(".t2").stop().animate({opacity: 1, marginTop:'0px', backgroundColor:'#343536'},{queue:false, duration:300, easing: 'easeOutExpo' });
$j('.t2').removeClass("active");
});
//panel 3
$j(".col3").mouseenter(function(){
$j(".t3").stop().animate({opacity: 1, marginTop:'-20px'},{queue:false, duration:300, easing: 'easeOutExpo'} );
$j('.t3').addClass("active");
});
$j(".col3").mouseleave(function(){
$j(".t3").stop().animate({opacity: 1, marginTop:'0px', backgroundColor:'#343536'},{queue:false, duration:300, easing: 'easeOutExpo'} );
$j('.t3').removeClass("active");
});
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
基本上,您想要重用代码,所以试试这个:
Basically, you want to have code reuse, so try this: