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

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

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

前言

動畫實際上就是一個視覺欺騙功能,一個前端如果不會視覺欺騙,那么針對很多效果將會手無足措,實際上學習動畫的過程中,也能更好理解視覺欺騙,實際開發(fā)一些場景也會有更多實現(xiàn)方案

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

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

實現(xiàn)

import "./App.css";

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

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

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

css實現(xiàn)

ps:當然使用 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%;
}

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

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

最后

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

相關文章

最新評論

剑河县| 专栏| 威远县| 芷江| 阿图什市| 乐陵市| 铅山县| 冀州市| 民权县| 博乐市| 桂阳县| 久治县| 永城市| 什邡市| 拉萨市| 和龙市| 丹寨县| 碌曲县| 寿光市| 江川县| 股票| 潍坊市| 罗田县| 砚山县| 乌兰浩特市| 贞丰县| 疏附县| 天祝| 神池县| 顺义区| 吐鲁番市| 榆社县| 马鞍山市| 历史| 民丰县| 邓州市| 宣化县| 铅山县| 凯里市| 台北县| 永丰县|