久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術(shù)文章
文章詳情頁

javascript - 仿彈幕效果遇到的bug

瀏覽:134日期:2023-04-19 15:42:41

問題描述

利用定位寫的仿彈幕效果,一碰到邊緣就出現(xiàn)bug

CSS:

.dmMsg{ position:absolute; display: inline-block; right:0; top:0; color:#fff; font-size: 22px; font-weight: 700; text-align: center; line-height: 1em; z-index: 100;}

JS:

var $temp = $('<span class=’' + msgType + ' ' + moveInType + '’ data-count='+ msg_count +'>' + message + '</span>');$(’.’ + parent).append($temp); $temp.animate({’right’:’100%’ },15000,loop);}function loop(){ $temp.css(’right’,’-400px’); $temp.animate({’right’:’100%’ },15000,loop);}

問題是彈幕只要碰到屏幕左邊文字就折行了:javascript - 仿彈幕效果遇到的bug

但是輸入數(shù)字就不會(huì)這樣,我沒有給固定寬度,不知道為什么會(huì)這樣?javascript - 仿彈幕效果遇到的bug

問題解答

回答1:

這個(gè)和瀏覽器處理文本的原理有關(guān),沒有深刨到底層,但是可以近似于這么理解:1、瀏覽器處理的區(qū)分標(biāo)準(zhǔn)其實(shí)是英文單詞,當(dāng)遇到多個(gè)英文單詞(中間含空格分隔開才算,原因見下文)溢出屏幕時(shí),猜測設(shè)計(jì)者的初衷是為了便于閱讀,所以瀏覽器會(huì)以空格作為分隔標(biāo)準(zhǔn),對英文字母換行處理(因?yàn)闉g覽器認(rèn)為空格隔開了,這是一個(gè)單詞),而長英文字母串,中間無空格,會(huì)被判斷為這是一整個(gè)單詞所以不會(huì)換行。2、輸入中文時(shí),瀏覽器會(huì)把每一個(gè)中文判斷為一個(gè)“單詞”,所以對每一個(gè)溢出屏幕的字都進(jìn)行了換行處理。3、對于數(shù)字,瀏覽器識(shí)別規(guī)則和英文字母一致。

所以綜上,并非是文字和數(shù)字有所區(qū)別,關(guān)鍵應(yīng)該在于空格。例如你可以測試一下你代碼中的message = '777 777 777',即數(shù)字間含空格,會(huì)發(fā)現(xiàn)就算是數(shù)字,瀏覽器也換行了。同理亦可測試message = 'cat cat cat'和'catcatcat'的區(qū)別。最后回到white-space: nowrap這個(gè)屬性,w3school給出的含義是“文本不會(huì)換行,文本會(huì)在在同一行上繼續(xù),直到遇到 <br> 標(biāo)簽為止。”所以也能解釋得通為什么加上之后文字就沒有換行了。

回答2:

css加上white-space: nowrap;

標(biāo)簽: JavaScript
相關(guān)文章:
主站蜘蛛池模板: 国产真实精品久久二三区 | 91夜夜蜜桃臀一区二区三区 | 国产精品无码久久久久 | 国产成人一区二区 | 国产在线观看高清 | 国产精品久久久久久 | 天天综合天天色 | 日韩日韩日韩日韩日韩日韩 | 欧美一区二区三区久久精品 | 欧美日韩在线精品 | 国产精品毛片无码 | 玖玖精品| 亚洲欧美视频 | 波多野结衣中文字幕在线视频 | 九九热精品免费视频 | 免费午夜电影 | 色999视频| 伊人久久精品久久亚洲一区 | yy6080久久伦理一区二区 | 欧美午夜视频 | 精品国产不卡一区二区三区 | av网站免费 | 少妇精品视频在线观看 | 欧美日韩国产在线观看 | 国产精品成人3p一区二区三区 | 色婷婷亚洲一区二区三区 | 日韩av在线免费电影 | 久久91精品| 99久久久99久久国产片鸭王 | 久在线视频 | 亚洲色图p| 久在线视频 | 精品伦精品一区二区三区视频 | 欧美久久久久 | 亚洲毛片网站 | 性视频网站免费 | 国产精品视频免费 | 99视频在线看 | 久久久xx | 欧美精品一二三区 | 精品国产天堂 |