大佬教程收集整理的这篇文章主要介绍了jquery – 悬停div以在另一个图标中触发动画效果,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
CSS
.animated-div { -webkit-animation-name: flipInX; animation-name: flipInX; -webkit-animation-duration:1s; animation-duration: 1s; -webkit-animation-fill-mode: both; animation-fill-mode: both; } .newsline:hover .animated-div,.newsline:focus .animated-div,.newsline:active .animated-div { -webkit-animation-name: flipInX; animation-name: flipInX; -webkit-animation-duration:1s; animation-duration: 1s; -webkit-animation-fill-mode: both; animation-fill-mode: both; }@H_944_9@HTML
<div class="Box-head"> <i class="fa fa-reorder fa-2x pull-left fa-border animated-div"></i> </div> </br></br></br> <div class="newsline">test</div>@H_944_9@在行动中这不起作用!
我该怎么办?
@H_301_4@解决方法
CSS中没有以前的兄弟选择器,因此在不更改标记的情况下单独使用纯CSS无法实现所需的效果.
CSS方法:
如果您可以将标记更改为类似下面的内容(基本上将div移到图标容器上方):
<div class="newsline">test</div> <div class="Box-head"> <i class="fa fa-reorder fa-2x pull-left fa-border animated-div"></i> </div>@H_944_9@那么你可以使用下面的CSS在鼠标悬停时触发动画.
.newsline:hover + .Box-head > .animated-div { -webkit-animation-name: flipInX; animation-name: flipInX; -webkit-animation-duration:1s; animation-duration: 1s; -webkit-animation-fill-mode: both; animation-fill-mode: both; }@H_944_9@@-webkit-keyframes flipInX { 0% { -webkit-transform: perspective(400pX) rotate3d(1,90deg); transform: perspective(400pX) rotate3d(1,90deg); -webkit-animation-timing-function: ease-in; animation-timing-function: ease-in; opacity: 0 } 40% { -webkit-transform: perspective(400pX) rotate3d(1,-20deg); transform: perspective(400pX) rotate3d(1,-20deg); -webkit-animation-timing-function: ease-in; animation-timing-function: ease-in } 60% { -webkit-transform: perspective(400pX) rotate3d(1,10deg); transform: perspective(400pX) rotate3d(1,10deg); opacity: 1 } 80% { -webkit-transform: perspective(400pX) rotate3d(1,-5deg); transform: perspective(400pX) rotate3d(1,-5deg) } 100% { -webkit-transform: perspective(400pX); transform: perspective(400pX) } } @keyframes flipInX { 0% { -webkit-transform: perspective(400pX) rotate3d(1,-5deg) } 100% { -webkit-transform: perspective(400pX); transform: perspective(400pX) } } .flipInX { -webkit-BACkface-visibility: visible!important; BACkface-visibility: visible!important; -webkit-animation-name: flipInX; animation-name: flipInX } @-webkit-keyframes flipInY { 0% { -webkit-transform: perspective(400pX) rotate3d(0,1,90deg); transform: perspective(400pX) rotate3d(0,90deg); -webkit-animation-timing-function: ease-in; animation-timing-function: ease-in; opacity: 0 } 40% { -webkit-transform: perspective(400pX) rotate3d(0,-20deg); transform: perspective(400pX) rotate3d(0,-20deg); -webkit-animation-timing-function: ease-in; animation-timing-function: ease-in } 60% { -webkit-transform: perspective(400pX) rotate3d(0,10deg); transform: perspective(400pX) rotate3d(0,10deg); opacity: 1 } 80% { -webkit-transform: perspective(400pX) rotate3d(0,-5deg); transform: perspective(400pX) rotate3d(0,-5deg) } 100% { -webkit-transform: perspective(400pX); transform: perspective(400pX) } } @keyframes flipInY { 0% { -webkit-transform: perspective(400pX) rotate3d(0,-5deg) } 100% { -webkit-transform: perspective(400pX); transform: perspective(400pX) } } /* add this class */ .newsline:hover + .Box-head > .animated-div { -webkit-animation-name: flipInX; animation-name: flipInX; -webkit-animation-duration: 1s; animation-duration: 1s; -webkit-animation-fill-mode: both; animation-fill-mode: both; }@H_944_9@<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css" rel="stylesheet" /> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script> <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet" /> <div class="newsline">test</div> <div class="Box-head"> <i class="fa fa-reorder fa-2x pull-left fa-border animated-div"></i> </div>@H_944_9@选择说明:
.newsline:hover + .Box-head > .animated-div@H_944_9@>选择class =’animated-div’的元素
>是class =’Box-head’的另一个元素的子元素
>使用class =’animated-div’转换元素的相邻兄弟
>当正在徘徊class =’animated-div’的元素时.jQuery方法:
如果由于某种原因无法修改结构,那么您需要创建一个单独的onhover类,如下所示:
.onhover { -webkit-animation-name: flipInX; animation-name: flipInX; -webkit-animation-duration:1s; animation-duration: 1s; -webkit-animation-fill-mode: both; animation-fill-mode: both; }@H_944_9@并使用jQuery(或JavaScript)将类添加到.animated-div,同时将鼠标悬停在.newsline上.
$(document).ready(function(){ $('.newsline').hover(function(){ $(this).prev('.Box-head').children('.animated-div').addClass('onhover'); },function(){ $(this).prev('.Box-head').children('.animated-div').removeClass('onhover'); }); });@H_944_9@$(document).ready(function(){ $('.newsline').hover(function(){ $(this).prev('.Box-head').children('.animated-div').addClass('onhover'); },function(){ $(this).prev('.Box-head').children('.animated-div').removeClass('onhover'); }); });@H_944_9@@-webkit-keyframes flipInX { 0% { -webkit-transform: perspective(400pX) rotate3d(1,-5deg) } 100% { -webkit-transform: perspective(400pX); transform: perspective(400pX) } } /* add this class */ .onhover { -webkit-animation-name: flipInX; animation-name: flipInX; -webkit-animation-duration: 1s; animation-duration: 1s; -webkit-animation-fill-mode: both; animation-fill-mode: both; } .Box-head{ clear: both; }@H_944_9@<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css" rel="stylesheet" /> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script> <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet" /> <div class="Box-head"> <i class="fa fa-reorder fa-2x pull-left fa-border animated-div"></i> </div> <div class="newsline">test</div> <br> <div class="Box-head"> <i class="fa fa-reorder fa-2x pull-left fa-border animated-div"></i> </div> <div class="newsline">test2</div> <br> <div class="Box-head"> <i class="fa fa-reorder fa-2x pull-left fa-border animated-div"></i> </div> <div class="newsline">test3</div>@H_944_9@选择说明:
$(this).prev('.Box-head').children('.animated-div')@H_944_9@>选择class =’animated-div’的元素
> class =’Box-head’的元素的子元素
>依次是正在徘徊的元素的前一个兄弟(也就是具有class =’newsline’的元素)如果在带有class =’newsline’的元素和图标的容器(带有class =’Box-head’)之间有任何额外的元素,则使用下面的jQuery选择器.
$(this).prevAll('.Box-head:first').children('.animated-div')@H_944_9@我已经将hover作为CSS和jQuery方法的样本,但同样可以应用于其他伪选择器,如active,focus也.
@H_301_4@ @H_301_4@ @H_673_112@
以上是大佬教程为你收集整理的jquery – 悬停div以在另一个图标中触发动画效果全部内容,希望文章能够帮你解决jquery – 悬停div以在另一个图标中触发动画效果所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。