最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

如何利用JavaScript實(shí)現(xiàn)一個(gè)文字擦除效果

 更新時(shí)間:2026年02月12日 10:52:15   作者:剪刀石頭布啊  
在JavaScript開發(fā)中,字符串處理是常見(jiàn)需求,下面這篇文章主要介紹了如何利用JavaScript實(shí)現(xiàn)一個(gè)文字擦除效果的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下

前言

動(dòng)畫實(shí)際上就是一個(gè)視覺(jué)欺騙功能,一個(gè)前端如果不會(huì)視覺(jué)欺騙,那么針對(duì)很多效果將會(huì)手無(wú)足措,實(shí)際上學(xué)習(xí)動(dòng)畫的過(guò)程中,也能更好理解視覺(jué)欺騙,實(shí)際開發(fā)一些場(chǎng)景也會(huì)有更多實(shí)現(xiàn)方案

這里的擦除效果,就是利用視覺(jué)欺詐實(shí)現(xiàn)一個(gè)文字擦除效果(前面寫到的進(jìn)度條也有視覺(jué)欺騙在里面)

核心原理,就是在文本上方放置同樣的一個(gè)文本內(nèi)容,設(shè)置顏色將其蓋住,通過(guò)css屬性動(dòng)畫逐步放開遮擋區(qū)間,這樣看起來(lái)就像是文本逐漸展示了(實(shí)現(xiàn)是不是和看起來(lái)效果有點(diǎn)不太一樣,這就是視覺(jué)欺騙了)

實(shí)現(xiàn)

import "./App.css";

//基礎(chǔ)文本
const text = `
“再也不能罵人了!”近日,一條以“罵人也違法了
最高可判三年”為關(guān)鍵詞的話題登上熱搜,迅速引發(fā)公眾熱議。這背后,是自2026年1月1日起正式施行的新修訂《治安管理處罰法》,言語(yǔ)威脅、辱罵他人可能構(gòu)成違法!公然辱罵他人或捏造事實(shí),造成重傷或死亡的還涉嫌犯罪。請(qǐng)謹(jǐn)言慎行,莫因“口無(wú)遮攔”承擔(dān)法律責(zé)任。
法律依據(jù) 《中華人民共和國(guó)治安管理處罰法》(2026),第五十條規(guī)定:
有下列行為之一的,處五日以下拘留或者一千元以下罰款;情節(jié)較重的,處五日以上十日以下拘留,可以并處一千元以下罰款:
(一)寫恐嚇信或者以其他方法威脅他人人身安全的;
(二)公然侮辱他人或者捏造事實(shí)誹謗他人的;
(三)捏造事實(shí)誣告陷害他人,企圖使他人受到刑事追究或受到治安管理處罰的;
(四)對(duì)證人及其近親屬進(jìn)行威脅、侮辱、毆打或者打擊報(bào)復(fù)的;
(五)多次發(fā)送淫穢、侮辱、恐嚇等信息或者采取滋擾、糾纏、跟蹤等方法,干擾他人正常生活的;
(六)偷窺、偷拍、竊聽(tīng)、散布他人隱私的。
有前款第五項(xiàng)規(guī)定的滋擾、糾纏、跟蹤行為的,除依照前款規(guī)定給予處罰外,經(jīng)公安機(jī)關(guān)負(fù)責(zé)人批準(zhǔn),可以責(zé)令其一定期限內(nèi)禁止接觸被侵害人。對(duì)違反禁止接觸規(guī)定的,處五日以上十日以下拘留,可以并處一千元以下罰款。
《中華人民共和國(guó)刑法》第二百四十六條:
以暴力或者其他方法公然侮辱他人或者捏造事實(shí)誹謗他人,情節(jié)嚴(yán)重的,處三年以下有期徒刑、拘役、管制或者剝奪政治權(quán)利。
`;

function App() {
  return (
    //使用兩個(gè)一摸一樣的文本效果,這樣更好蓋住
    //為了能重合使用絕對(duì)定位來(lái)處理
    <p className="App">
      <p className="box">
        {text}
      </p>
      <p className="box">
        //不適用匿名盒子,是為了更好操作該行盒
        <span className="earser">{text}</span>
      </p>
    </p>
  );
}

css實(shí)現(xiàn),除了使用行盒子實(shí)現(xiàn)背景的逐行變化,這里借助css自定義屬性,來(lái)實(shí)現(xiàn)動(dòng)畫(畢竟動(dòng)畫只能應(yīng)用css內(nèi)置屬性,不能直接應(yīng)用變量)

css實(shí)現(xiàn)

ps:當(dāng)然使用 background-position屬性,就不用自定義屬性了,容我裝一下哈??

.App {
  margin: 0;
  color: black;
  position: relative;
  display: block;
  color: #000;
}

.box {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

@property --per {
  syntax: '<percentage>';
  inherits: false;
  initial-value: 5%;
}

//使用行盒子設(shè)置背景,才能達(dá)到我們想要的效果
.earser {
  --per: 5%;
  color: transparent;
  background: linear-gradient(to right, transparent var(--per), #fff calc(var(--per) + 100px));
  animation
  : earser 5s linear forwards;
}
//關(guān)鍵幀動(dòng)畫
@keyframes earser {
  to {
    --per: 100%;
  }
}

這是一個(gè)簡(jiǎn)易的部分擦除效果(gif懶得生成)

最后

思考一下,如果文本區(qū)域存在一個(gè)背景圖的話,那么這種遮蓋方式可能就不行了,這種情況怎么實(shí)現(xiàn)文字擦除效果么,不妨思考一下

相關(guān)文章

最新評(píng)論

延庆县| 东源县| 桑植县| 独山县| 新乡县| 孟津县| 凤冈县| 凤台县| 墨脱县| 石柱| 仙桃市| 林甸县| 武冈市| 千阳县| 夏邑县| 丹巴县| 当雄县| 黄山市| 塔河县| 康马县| 阳高县| 西城区| 嘉黎县| 仁化县| 梅河口市| 尖扎县| 南郑县| 连州市| 靖江市| 多伦县| 运城市| 应城市| 北流市| 涟源市| 泾源县| 盐津县| 教育| 图木舒克市| 新竹县| 汾西县| 花垣县|