本篇文章主要跟大家介紹網頁html文字滾動程式碼效果如何寫?當我們在瀏覽新聞播放的頁面時,總是會看到底部有一段即時新聞不停的滾動出現,這樣的效果通常可以由js或者css來完成操作。以下為大家具體介紹兩種方法,
一、js文字捲動程式碼具體範例:
#HTML程式碼:
<!DOCTYPE HTML> <html lang="en"> <head> <title></title> <meta charset="UTF-8"> <style type="text/css"> </style> </head> <body> <div class="container"> <p class="text">文字从右到左滚动 css文字从右到左滚动 css文字从右到左滚动 css文字从右到左滚动 css文字从右到左滚动 css</p> </div> </body> </html>
<script> var $container = $('.container'), $text = $('.text'); var direction = 1, speed = 3000; var textMove = function (obj, container, direction, speed) { var initMarginLeft = '-' + obj.width() + 'px'; obj.css({"margin-left": initMarginLeft}); var move = function () { var allDistance = obj.width() + container.width(), remainedDistance = container.width() - parseInt(obj.css('margin-left')), currentSpeed = (speed * remainedDistance ) / allDistance; // 移动效果 obj.animate({"margin-left": container.width() + 'px'}, currentSpeed, 'linear', function () { obj.stop(true, true); obj.css({"margin-left": initMarginLeft}); move(); }); }; move(); container.on("mouseenter", function () {obj.stop(true)}) .on('mouseleave', function () {move()}) }; textMove($text, $container, direction, speed);</script>
以上文字捲動js程式碼中相關知識點註解:
var direction中表示1為從左進入,2為從右進入;
speed 表示數值越小速度越快
var textMove,定義文字初始位置
obj.css() 定義動畫
animate() 方法執行CSS 屬性集的自訂動畫。
該方法透過CSS樣式將元素從一個狀態改變為另一個狀態。 CSS屬性值是逐漸改變的,這樣就可以創造出動畫效果。只有數字值可建立動畫(例如 "margin:30px")。字串值無法建立動畫(例如 "background-color:red")。
二、css文字在div裡滾動程式碼範例:
<style type="text/css" rel="stylesheet"> * { margin: 0; padding: 0;} .container { margin: 200px auto; width: 500px; height: 50px; line-height: 50px;border: 1px solid red; overflow: hidden; } .text { position: relative; display: inline-block; white-space: nowrap; /*animation:scroll 5s 0s linear infinite;*/ animation-name: scroll; animation-duration: 5s; animation-delay: 0ms; animation-timing-function: linear; animation-iteration-count: infinite; -webkit-animation-name: scroll; -webkit-animation-delay: 0ms; -webkit-animation-duration: 5s; -webkit-animation-timing-function: linear; -webkit-animation-iteration-count: infinite; -moz-animation-name: scroll; -moz-animation-delay: 0ms; -moz-animation-duration: 5s; -moz-animation-timing-function: linear; -moz-animation-iteration-count: infinite; } @-webkit-keyframes scroll { 100% { margin-left: 100%; } } @-moz-keyframes scroll { 100% { margin-left: 100%;} } @-ms-keyframes scroll { 100% { margin-left: 100%; } } .text:hover { -webkit-animation-play-state: paused; } </style>
相關知識點註解:
透過@keyframes 規則,您能夠建立動畫。原理是,將一套 CSS 樣式逐漸改變為另一套樣式。在動畫過程中,您能夠多次改變這套 CSS 樣式。以百分比來規定改變發生的時間,或透過關鍵字 "from" 和 "to",等價於 0% 和 100%。 0% 是動畫的開始時間,100% 動畫的結束時間。為了獲得最佳的瀏覽器支持,您應該始終定義 0% 和 100% 選擇器。
animationname 必需。定義動畫的名稱。
keyframes-selector 必要。動畫時長的百分比。
合法的值:0-100% from(與 0% 相同)to(與 100% 相同)
css-styles 必需。一個或多個合法的 CSS 樣式屬性。
以上就是關於css滾動效果 文字橫向滾動和js文字滾動的方法介紹,希望對有需要的朋友有所幫助。
【相關文章推薦】
以上是css文字從右邊到左的滾動效果怎麼實現? (程式碼範例)的詳細內容。更多資訊請關注PHP中文網其他相關文章!