Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/424.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
增强动画(JavaScript+CSS)_Javascript_Jquery_Css_Animation_Jquery Animate - Fatal编程技术网

增强动画(JavaScript+CSS)

增强动画(JavaScript+CSS),javascript,jquery,css,animation,jquery-animate,Javascript,Jquery,Css,Animation,Jquery Animate,我正在使用CSS和JS制作小动画,但在某些浏览器上它会闪烁不定,我不知道这是否是最好的方式,有没有关于制作这个动画主动脉的最佳方式的想法 基本上,我想做的就是让所有未选中的项目稍微褪色,而悬停在上面的项目则显得突出。现场示例:主页按钮部分的推荐部分 JavaScript CSS /*Home Page SectionD*/ #home-sectionD .testimonial { background-color: #FAFAFA; border: 1px solid #3C5476; mar

我正在使用CSS和JS制作小动画,但在某些浏览器上它会闪烁不定,我不知道这是否是最好的方式,有没有关于制作这个动画主动脉的最佳方式的想法

基本上,我想做的就是让所有未选中的项目稍微褪色,而悬停在上面的项目则显得突出。现场示例:主页按钮部分的推荐部分

JavaScript

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);
}

每次将鼠标移到该元素上时,都会触发悬停事件。我宁愿使用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
}

要启用硬件加速(这可能会解决此问题),请将3D翻译添加到CSS类中

transform: translate3d(0,0,0);
-webkit-transform: translate3d(0,0,0);

没有为我加载Live example。就我个人而言,我认为您的代码或其工作方式没有任何问题。出于某种原因,它在Safari上会闪烁。它是在您将鼠标位置从一个元素更改为另一个元素时闪烁,还是在您将鼠标移动到一个元素时闪烁?因为这对我有效:在opera和Firefox上测试,这就是为什么!它之所以闪烁是因为你是从一个悬停在它们之间的空间上移动的,这就是为什么会闪烁的原因,关于这个伴侣有什么想法吗?是的,你需要设置关闭这些类的函数,并以较小的延迟调用该函数。接下来,您需要设置某种锁柜,它会告诉您当前鼠标位置是否在元素上。在功能中,只需控制鼠标位置,如果鼠标不在元素上方,请关闭。我希望你能从我的例子中更好地理解它,它肯定更清楚:
transform: translate3d(0,0,0);
-webkit-transform: translate3d(0,0,0);