2017-09-19 6 views
2

私はとwidth: toggleを使って画像の隣にあるテキストにスライディングエフェクトを実装しようとしています(下のjsfiddleのように)。幅のトグルアニメーション - 不思議な効果

私が遭遇している問題は、「スライディング」しているときに、単語間で不具合が発生することです。私の前提は、言葉が要素の中を動き回っているからです。

JSFiddle

$('img').on('click', function(e) { 
 
    $('span').animate({ 
 
    width: 'toggle' 
 
    }, 400) 
 
});
span { 
 
    display: inline-block; 
 
    max-height: 20px; 
 
    width: auto; 
 
    position: absolute; 
 
    overflow: hidden; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<img src="http://via.placeholder.com/50x50" alt=""> 
 
<span>Name Surname</span>

グリッチ効果を修正する方法はありますか?

+0

uが表示する方法を、関連するスクリーンショットを共有して下さい..? –

+0

これはjsfiddleの唯一の問題ですが、「グリッチする」ように見えるか、別の単語が滑らかな遷移ではないことが示されています。画像をクリックすると表示されるように、単語間でグリッチ効果が得られます。 – belthazorNv

+0

@belthazorNv私の答えを見てください..あなたがその方法を実装できるかどうかわかりません。 –

答えて

3

これを修正する最も簡単な方法は、CSSコードにwhite-space: nowrapを設定してテキストの折り返しを防止することです。

$('img').on('click', function(e) { 
 
    $('span').animate({ 
 
    width: 'toggle' 
 
    }, 1200) 
 
});
span { 
 
    display: inline-block; 
 
    max-height: 20px; 
 
    width: auto; 
 
    white-space: nowrap; 
 
    position: absolute; 
 
    overflow: hidden; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<img src="http://via.placeholder.com/50x50" alt=""> 
 
<span>Name Surname</span>

4

これを試してください。

$('img').on('click', function(e) { 
 
\t $('span').animate({width: 'toggle'}, 400); 
 
});
span { 
 
    display: inline-block; 
 
    max-height: 20px; 
 
    width: auto; 
 
    position: absolute; 
 
    overflow: hidden; 
 
}
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script> 
 
<img src="http://via.placeholder.com/50x50" alt=""> 
 
<span>Name&nbsp;Surname</span>
はここで更新 Fiddleです。

+2

いいです、これについての説明は? –

+0

@ A.T。私はちょうどnbspでスペースを変更します。それはすべてです..ハハハ –

+0

私の答えで説明されているようにHTMLコードに触れることなく、シンプルなCSSソリューションがあります –

関連する問題