我正在使用CSS和JS来做小动画,但是在某些浏览器上它是闪烁的,我不知道这是否是最好的方法,任何关于做这个主动脉的最佳方法的想法动画?
基本上,我想要的就是让所有未被选中的项目略微淡化,而这一项是悬而未决的。实例:http://meeped.co.uk:93/主页上的推荐部分。
JavaScript
$(".testimonial").hover( function() {
$(".testimonial").addClass('testimonialNotActive');
$(this).removeClass('testimonialNotActive').addClass('testimonialActive');
},
function(){
$(".testimonial").removeClass('testimonialNotActive');
$(this).removeClass('testimonialActive');
}
);
CSS
/*Home Page SectionD*/
#home-sectionD .testimonial {
background-color: #FAFAFA;
border: 1px solid #3C5476;
margin-bottom: 10px;
}
.testimonialNotActive {
opacity: 0.6;
-moz-opacity: 0.6;
-khtml-opacity: 0.6;
filter:alpha(opacity=60);
}
.testimonialActive {
-webkit-box-shadow: 0px 0px 25px -2px rgba(0,0,0,0.4);
-moz-box-shadow: 0px 0px 25px -2px rgba(0,0,0,0.4);
box-shadow: 0px 0px 25px -2px rgba(0,0,0,0.4);
}
答案 0 :(得分:0)
hover()事件一直在您将鼠标移到该元素上时触发。我宁愿使用像这样的mouseEnter()和mouseOut()事件:
$(".testimonial").mouseenter( function() {
$(".testimonial").removeClass('testimonialActive').addClass('testimonialNotActive'); // also removeing active class
$(this).removeClass('testimonialNotActive').addClass('testimonialActive');
}
$(".testimonial").mouseout( function() {
$(".testimonial").removeClass('testimonialActive').removeClass('testimonialNotActive'); // or whatever class you want to remove
}
答案 1 :(得分:0)
要启用可能解决问题的硬件加速,请将3D翻译添加到CSS类中。
transform: translate3d(0,0,0);
-webkit-transform: translate3d(0,0,0);