ホームページ > 記事 > ウェブフロントエンド > jsを使用して上下にスクロールするアナウンスを実装する方法
この記事では、10 行の JS コードを使用してローリング アナウンス効果を実現するための関連情報を、サンプル コードを通じて詳細に紹介します。必要に応じてフォローしてみましょう。エディターで見てみましょう。
要件
最近のプロジェクトでは、次のように掲示板のスクロール表示効果を実現する必要があります:
解決策
1.まずアナウンスとして p レイヤーを構築します。表示領域にはアナウンス リスト (ul) が含まれます。CSS
はアナウンス ボード表示領域の高さ (35px)、および各アナウンス メッセージの高さ (li) を固定します。また、この高さである必要があります (私はここにいます。怠けていた場合は行の高さを使用しただけです)。この値は後で js で使用されます。
<p class="notice"> <ul> <li>第1条公告第1条公告第1条公告第1条公告第1条公告第1条公告</li> <li>第2条公告第2条公告第2条公告第2条公告第2条公告第2条公告</li> <li>第3条公告第3条公告第3条公告第3条公告第3条公告第3条公告</li> <li>第4条公告第4条公告第4条公告第4条公告第4条公告第4条公告</li> </ul> </p>
3. JavaScript
関数 NoticeUp.js をカプセル化します
スクロール効果を実現するために、jquery animate メソッドを使用してリスト ul の marginTop 値を変更します。 知識ポイント:
1. animate 関数の実行後に実行される関数。
2. appendTo() メソッド
は、選択された要素の末尾 (まだ内部) に指定されたコンテンツを挿入します。
注: 指定されたコンテンツが現在のページ内の特定の要素である場合、これらの要素は元の位置から消えます。つまり、これはコピー操作ではなく、移動操作になります。
p,ul,li{margin: 0;padding: 0}/*先初始化一下默认样式*/ .notice { width: 300px;/*单行显示,超出隐藏*/ height: 35px;/*固定公告栏显示区域的高度*/ padding: 0 30px; background-color: #b3effe; overflow: hidden; } .notice ul li { list-style: none; line-height: 35px; /*以下为了单行显示,超出隐藏*/ display: block; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; }4. カプセル化関数を呼び出す
まず、jQuery ライブラリと独自のカプセル化プラグインを導入します
タイマー setInterval を使用して、アナウンス情報を表示する時間間隔を制御します /*
* 参数说明
* obj : 动画的节点,本例中是ul
* top : 动画的高度,本例中是-35px;注意向上滚动是负数
* time : 动画的速度,即完成动画所用时间,本例中是500毫秒,即marginTop从0到-35px耗时500毫秒
* function : 回调函数,每次动画完成,marginTop归零,并把此时第一条信息添加到列表最后;
*
*/
function noticeUp(obj,top,time) {
$(obj).animate({
marginTop: top
}, time, function () {
$(this).css({marginTop:"0"}).find(":first").appendTo(this);
})
}
以上、私がまとめてみましたので、今後皆様のお役に立てれば幸いです。
関連記事:
JSを使用して小さなボールの放物線運動を実現する方法 Web版の電卓をJSで実装する方法URLから#記号を削除する方法Angular2 (詳細なチュートリアル)JavaScript でクラス、コンストラクター、およびファクトリー関数を使用する方法 Vue.js でモバイル コンポーネント ライブラリを使用する方法 (詳細なチュートリアル)以上がjsを使用して上下にスクロールするアナウンスを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。