-
ID:fwUQgI さんの質問

件名:jQueryで横スライドするときにテキストがガタつく

みなさんこんにちわ。jQueryのanimateなのですが、widthをつかってdivボックスを横スライドするとき、divの中のテキストが下からガタつきながら出てきてしまいます。
縦方向だと綺麗にスライドしてくるのですが・・・。
何か解決策はありますか?

みんなの回答 4 件

ID:RAIWSa さんの回答

何言ってるのかよくわからない

ID:O.X7pG さんの回答

javascript(jQuery)は、単に動的にCSSの値を変更しているだけに過ぎないので、まず考えるべきは、javascriptを用いずに、CSSだけでアニメーションできるかどうかということじゃないかな。
その上で、回答するなら、アニメーションさせるべきCSSのプロパティは、widthやmarginやpaddingではなく、position:absoluteしたleftやtopだと思う。
つまり、jQuery云々の話ではなく、CSSレベルの話かと。

ID:fwUQgI

ご回答ありがとうございます。CSSでアニメーションやったことないので、切り分けのために勉強してみます。

ID:lRa9p3 さんの回答

フレームレイト調整してみたらどうでしょうか?

ID:fwUQgI

ご回答ありがとうございます。
たしかjqのフレームレートはハードコードだったと思いますので、ちょっと調整はめんどくさそうですね。

ID:/9k6rp

つ $.fx.interval

ID:/9k6rp さんの回答

単に折り返しの問題だったりしない?
幅が変われば当然文字の折り返し位置も変わる
→アニメーション中は1文字ずつ落ちるor戻る

この場合、インナー要素を作って、そっちに最大幅を指定しておけば、折り返し位置が変わったりしなくなるはず。

<style>
.box { width:200px; overflow:hidden; }
.box_inner { width:200px; }
</style>

<script>
$(function(){
$(’.box’).click(function(){
$(this).animate({ width:0 });
});
});
</script>

<div class="box">
<div class="box_inner">じゅげむ じゅげむ ごこうのすりきれ かいじゃりすいぎょの すいぎょうまつ うんらいまつ ふうらいまつ くうねるところにすむところ やぶらこうじのぶらこうじ ぱいぽ ぱいぽ ぱいぽのしゅーりんがん しゅーりんがんのぐーりんだい ぐーりんだいのぽんぽこぴーの ぽんぽこなーの ちょうきゅうめいのちょうすけ</div>
</div>

ID:fwUQgI

ご回答ありがとうございます。見てみたらおっしゃるとおり、折り返しの問題でした・・・。コードまで書いていただいて感謝です。助かりました。

ID:RAIWSa

お前が先にコード書けっつー話だよな

最終更新日:2014-05-11 (5,398 views)

関連するトピックス

ページ上部に戻る