javascript - Rotate animation hover but while moving mouse on hover -> cancel -


i'm trying trigger rotate animation in svg on website. definetly work problem when i'm moving mouse when i'm on hover element cancels animation.

so include object svg element:

<object type="image/svg+xml" data="branching4.svg" id="branching">     browser not support svg </object>  

which long svg document here stylesheet attached it:

#rectangle1, #rectangle2, #rectangle3{     perspective: 1500px; } #rectangle1.flip .card, #rectangle2.flip .card, #rectangle3.flip .card {     transform: rotatex(180deg); } #rectangle1 .card, #rectangle2 .card, #rectangle3 .card{     transform-style:preserve-3d;     transition:1s; } #rectangle1 .face, #rectangle2 .face, #rectangle3 .face{     backface-visibility: hidden; } #rectangle1 #front1{     transform: rotatex(0deg); } #rectangle1 #back1{     transform: rotatex( 180deg ); } #rectangle2 #front2{     transform: rotatex(0deg); } #rectangle2 #back2{     transform: rotatex( 180deg ); } #rectangle3 #front3{     transform: rotatex(0deg); } #rectangle3 #back3{     transform: rotatex( 180deg ); } #rectangle1.flipped, #rectangle2.flipped, #rectangle3.flipped {     transform: rotatex( 180deg ); } 

you can see svg structure in jsfiddle

and script:

window.onload=function() {     var svgdoc = $("#branching")[0].contentdocument; // document object svg     $(".st4", svgdoc).css("font-family", "robotolight,helvetica neue,helvetica,arial,sans-serif");     $("#rectangle1", svgdoc).hover(function(){         $(this, svgdoc).toggleclass("flip");     });     $("#rectangle2", svgdoc).hover(function(){         $(this, svgdoc).toggleclass("flip");     });     $("#rectangle3", svgdoc).hover(function(){         $(this, svgdoc).toggleclass("flip");     });  }; 

i tried css, it's same problem.

here jsfiddle:

https://jsfiddle.net/7f7wjvvt/

1st question:

how can have fluid rotate transition when moving mouse on element ?

2nd question:

how can have y rotation stay on spot , not translate left ? try in fiddle

3rd question:

why jsfiddle display svg in firefox , not in chrome? also, perspective doesn't seem work in chrome ... why ?

any ideas ?

unfortunately, think many of problems you're experiencing result of bad browser support (3d) css transforms on svg elements.

moving cards <g> elements own <svg> inside ordinary <div>, , applying interactivity div element make stuff lot easier.

.card {    display: inline-block;    transform-origin: center;    perspective: 1000px;    background: grey;  }  .card-inner {    width: 100px;    height: 200px;    transition: transform .4s;  }  .card-inner:hover,  .card:hover > .card-inner {    transform: rotatey(180deg);  }
<div class="card">    <div class="card-inner" style="background: yellow">      add svg card here    </div>  </div>    <div class="card">    <div class="card-inner" style="background: blue">      add svg card here    </div>  </div>    <div class="card">    <div class="card-inner" style="background: green">      add svg card here    </div>  </div>

how can have fluid rotate transition when moving mouse on element ?

once card rotates, looses hover. hover state will applied underlying element though. if make sure card's parent, can use css rule styling:

.card-inner:hover, .card:hover > .card-inner {   transform: rotatey(180deg); } 

how can have y rotation stay on spot , not translate left ? try in fiddle

you'll have use transform-origin, tried. doesn't work svg elements...

transform-origin: center; 

why jsfiddle display svg in firefox , not in chrome? also, perspective doesn't seem work in chrome ... why ?

like said, isn't supported properly...


Comments

Popular posts from this blog

sql - invalid in the select list because it is not contained in either an aggregate function -

Angularjs unit testing - ng-disabled not working when adding text to textarea -

How to start daemon on android by adb -