2016-09-27 14 views
1

https://jsfiddle.net/eunjin/zasmLkzm/4/jQueryのホバーとラインの回転アニメーション

$('#menu_bar').hover(function(){ 
    $('.line1').stop().animate({borderSpacing:45},{ 
     step: function(now,fx){ 
      $(this).css('-webkit-transform','rotate('+now+'deg)'); 
      $(this).css('-moz-transform','rotate('+now+'deg)'); 
      $(this).css('transform','rotate('+now+'deg)'); 
     }, 
     duration:'slow' 
    },'linear'); 
    $('.line3').stop().animate({borderSpacing:-45},{ 
     step: function(now,fx){ 
      $(this).css('-webkit-transform','rotate('+now+'deg)'); 
      $(this).css('-moz-transform','rotate('+now+'deg)'); 
      $(this).css('transform','rotate('+now+'deg)'); 
     }, 
     duration:'slow' 
    },'linear'); 
}, function(){ 
    $('.line1').stop().animate({borderSpacing:0},{ 
     step: function(now,fx){ 
      $(this).css('-webkit-transform','rotate('+now+'deg)'); 
      $(this).css('-moz-transform','rotate('+now+'deg)'); 
      $(this).css('transform','rotate('+now+'deg)'); 
     }, 
     duration:'slow' 
    },'linear'); 
    $('.line3').stop().animate({borderSpacing:0},{ 
     step: function(now,fx){ 
      $(this).css('-webkit-transform','rotate('+now+'deg)'); 
      $(this).css('-moz-transform','rotate('+now+'deg)'); 
      $(this).css('transform','rotate('+now+'deg)'); 
     }, 
     duration:'slow' 
    },'linear'); 
}); 

は私が誰かのコードを表示し、それを使用したが、それは上の回転しない - コード 私は45を入力すると、それはホバーを回転させて unhoverが、タイプ-45それはunhover一部の機能をアニメーション化、それは私はそれがためにjQueryで起こっている私の母国語

+0

このcssを追加することができます: '.line1 { 変換元:50%150%0; } '。変換元を変更すると、期待どおりに動作します。更新された[フィドル](https://jsfiddle.net/zasmLkzm/7/)がここにあります。 – sahil

+0

私の問題は.line3は円滑に回転しますが、.line3はTT –

答えて

0

に工学を使用していないスムーズ

私の英語に申し訳ありません

回転しないホバーが、unhoverを回転させますイニシエーションborderSpacingの値は0で、0になります。nowfxを出力するステップ関数でconsole.logを使用してこれを検証できます。それは否定すべきではない有効なCSSプロパティ( - プロパティ見出し、価値を値でhttp://www.w3schools.com/cssref/pr_border-spacing.aspルック。出所)を指しているのでborderSpacingを使用しないでください。

ただ、ここでは、正常に動作しrotateのような擬似プロパティを使用 -

https://jsfiddle.net/zasmLkzm/10/

・ホープ、このことができます。

+0

ではありません。なぜなら、borderSpacing!私の質問に答えてくれてありがとう! –

+0

お手伝いしますと、幸いです。 –

関連する問題