国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

簡單實現JavaScript彈幕效果

2019-11-19 16:28:30
字體:
來源:轉載
供稿:網友

不知大家有沒有感受到,彈幕又是另一出好戲!!
不過我個人還是比較排斥看電視的時候被出來的彈幕打擾。今天我們來寫一個簡單的彈幕。簡單到什么程度呢?看下效果:

由圖可以看出,我們的呆毛html結構確實是非常簡單啦。
就是由一個div、一個input框另加一個button組成。

 <div id="box" class="box"></div> <input type="text" id="txt" /> <button onclick="send()">提交內容</button>

先po上js代碼:

 function $(str) {  return document.getElementById(str); } function send() {  var word = $('txt').value;  var span = document.createElement('span');  var top = parseInt(Math.random() * 500) - 20;  var color1 = parseInt(Math.random() * 256);  var color2 = parseInt(Math.random() * 256);  var color3 = parseInt(Math.random() * 256);  var color = "rgb(" + color1 + "," + color2 + "," + color3 + ")";  top = top < 0 ? 0 : top;  span.style.position = 'absolute';  span.style.top = top + "px";  span.style.color = color;  span.style.left = '500px';  span.style.whiteSpace = 'nowrap';  var nub = (Math.random() * 10) + 1;  span.setAttribute('speed', nub);  span.speed = nub;  span.innerHTML = word;  $('box').appendChild(span);  $('txt').value = ""; } setInterval(move, 200); function move() {  var spanArray = $('box').children;  for (var i = 0; i < spanArray.length; i++) {   spanArray[i].style.left =    parseInt(spanArray[i].style.left) - spanArray[i].speed + 'px';  } }

原理簡單說下:

第一步,我們要拿到input框里面的內容,var word = $('txt').value;
第二步,我們就要把這個內容想方設法地塞到要滾動顯示的div里面去了,原則有三:①顏色隨機②高度隨機③與左邊框的距離實時變化;
第三步,把這個內容追加到div里  $('box').appendChild(span);

由上述步驟原理可以看出,第二步是最關鍵的一步,

實現第一個原則:

 var color1 = parseInt(Math.random() * 256); var color2 = parseInt(Math.random() * 256); var color3 = parseInt(Math.random() * 256); var color = "rgb(" + color1 + "," + color2 + "," + color3 + ")"; span.style.color = color;

小擴展:

RGB(R,G,B);
R:
紅色值。正整數 | 百分數
G:
綠色值。正整數 | 百分數
B:
藍色值。正整數 | 百分數
這樣就應該是很容易理解了。

實現第二個原則:

var top = parseInt(Math.random() * 500) - 20;top = top < 0 ? 0 : top;span.style.top = top + "px";

實現第三個原則:

 span.style.left = '500px'; setInterval(move, 200); function move() {  var spanArray = $('box').children;  for (var i = 0; i < spanArray.length; i++) {   spanArray[i].style.left =    parseInt(spanArray[i].style.left) - spanArray[i].speed + 'px';  } }

就是利用了定時器的原理,讓left的值實時變化。

講到這里,就應該很清晰明了了吧。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 丹凤县| 南皮县| 叶城县| 浦城县| 育儿| 扶沟县| 高碑店市| 肃南| 黄浦区| 眉山市| 齐齐哈尔市| 鹤岗市| 洪湖市| 手游| 邢台市| 渭南市| 三台县| 永定县| 尼勒克县| 咸阳市| 武陟县| 澎湖县| 怀化市| 东乌珠穆沁旗| 江城| 辽中县| 广灵县| 七台河市| 南漳县| 广水市| 沙湾县| 宜君县| 刚察县| 水富县| 丹凤县| 洞头县| 恩平市| 惠东县| 会宁县| 涟水县| 厦门市|