2014-01-14 16 views
7

私が覚えている限り、私はCSS3トランジションで今まで私には何の問題もありませんでした。突然(クロームの更新や他のコードの変更のため)、chrome(32.0.1700.77)での動作を停止しましたが、他のすべてのブラウザ(および古いバージョンのchrome)でも動作します。CSS3はクロムではもう動作しません

@media screen and (max-width: 1325px) { 
    .row-offcanvas { 
     position: absolute; 
     -webkit-transition: all 0.25s ease-out; 
     -moz-transition: all 0.25s ease-out; 
     transition: all 0.25s ease-out; 
     width: 100%; 
    } 

    button.toggle { 
     display: inline-block; 
    } 

    .row-offcanvas-left, 
    .sidebar-offcanvas { 
     left: -239px; 
     z-index: 9999; 
     height: 700px; 
    } 
    .row-offcanvas-left.active { 
     left: 239px; 
    } 
    .sidebar-offcanvas { 
     position: absolute; 
     top: 0; 
     width: 239px; 
    } 
} 

私はサイトのこの部分に何も変更を加えていないため、なぜそれが突然動作しないのか説明できません。トランジションは、このビットのJavaScript(アニメーションの責任を負わない)によってトリガされる、ボタンがクリックされたときにスライドするパネルのためのものです。

$(document).ready(function() { 
    $('[data-toggle=offcanvas]').click(function() { 
    $('.row-offcanvas').toggleClass('active'); 
    }); 
}); 
+0

[Chromeでは '-webkit-'という接頭辞はもう必要ありません](http://caniuse.com/css-transitions)。それ以外に、機能は変更されませんでした。あなたのJSとCSSの両方には、いくつかのカッコや括弧が欠けています。コンソールログに警告またはエラーがありますか? DOMインスペクタで認識されないプロパティ? –

+0

@ 412それは私のコピー/ペースト中のタイプミスです。謝罪いたします。 –

+0

@NielsKeurentjes欠落しているカッコとカッコはコピー/ペーストの誤植です。機能に関しては、JSが実行されます(アクティブなクラスを起動し、パネルを開きます)。唯一変わったのは、突然動作しないトランジションです。 –

答えて

17

あなたの問題は、未定義のプロパティからアニメーション化しようとしているということです:あなたは239pxleftを変更しているが、明示的に最初に0としてそれを指定しないでください。従って、239pxへの有効な滑らかな遷移がない値は、autoにデフォルト設定されています。

left:0を基本定義に追加しても問題ありません。

See a JSfiddle here demonstrating your problem in Chrome 32+

+0

あなたのJSFiddleは、両方のバーが同時に動いていることを示しています。私はChrome 31を使用しています。また、これまで問題なく、デフォルト値(この場合は 'auto')からアニメーション化しました。 – Jasper

+1

彼は自分が実行しているChrome 32ベータ版で作業していると言いますが、そのうちの1人だけがアニメーション化しています - 以前は以前と同じように動作していたと言いますが、これはうまくいきましたが、標準準拠の向上に向けてv32で修正されました。あなたはデフォルト値で正しいです、それを修正しました。 –

+0

この回答は実際に私の問題を解決するように思われました。ありがとう! –

関連する問題