JavaScriptでボッス要素を自動横スクロール

JavaScriptでボッス要素を自動横スクロールし、テキストが流れているように見せるサンプル。

実装例

このボックス要素を自動的に最後までスクロールします。

実装例(サンプル)の動作について

ページを読み込むと、背景色が黄色のボックス要素を、自動的に最後まで横スクロールする。最後までスクロールし終わると、最初に戻り、自動スクロールを繰り返す。

ソースコード

JavaScript

<script type="text/javascript">
window.onload = function () {
    autoScroll();
}
var $scrollX = 0;
function autoScroll() {
    var $sampleBox = document.getElementById( "sampleBox" );
    $sampleBox.scrollLeft = ++$scrollX;
    if( $scrollX < $sampleBox.scrollWidth - $sampleBox.clientWidth ){
        setTimeout( "autoScroll()", 20 );
    }else{
        $scrollX = 0;
        $sampleBox.scrollLeft = 0;
        setTimeout( "autoScroll()", 20 );
    }
}
</script>

HTML

<div id="sampleBox">
    <p id="sampleText">
        このボックス要素を自動的に最後までスクロールします。
    </p>
</div>

CSS

<style>
#sampleBox {
    width: 300px;
    overflow: hidden;
    background-color: yellow;
    text-align: center;
    line-height: 1.5em;
    font-size: 16px;
    border: 1px solid gray;
    border-radius: 10px;
}
#sampleText {
    white-space: nowrap;
    margin: 0 0 0 300px !important;
    width: 700px;
    text-align: left;
}
</style>

スクロールで流す文字を増やした場合は、「#sampleText」の「width: 700px;」を調整し、幅を増やす必要がある。

スポンサード リンク

カテゴリー: JavaScript, アニメーション, スクロール, 逆引き パーマリンク