vue.js

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript类库 > vue.js > vue高亮文字效果

vue使用advanced-mark.js实现高亮文字效果

作者:__爱吃香菜

在日常项目中我们往往会有搜索高亮的需求,下面这篇文章主要介绍了vue使用advanced-mark.js实现高亮文字效果的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下

组件介绍-advanced-mark.js:

advanced-mark.js 是一个用于 Vue 的高亮文字组件,它可以帮助你在文本中高亮显示指定的关键词或短语。
组件地址:https://angezid.github.io/advanced-mark.js/doc-v2/getting-started.html

下载安装:

npm install advanced-mark.js

yarn add advanced-mark.js

要初始化新实例,必须使用:

var instance = new Mark(context);
instance.mark('lorem');

使用方法介绍:

注: 如果想要多个部分分散使用高亮功能,那么可以使用数组形式进行存储,并遍历循环。

const  classNames=['.css1','.css2','.css3',...]
   const allNodes = classNames.flatMap((selector) =>
      document.querySelectorAll(selector));
    allNodes.forEach((node) => {
      // 在指定的 DOM 元素中查找并高亮指定的关键词
      const instance = new Mark(node); //new一个新对象
      instance.unmark(); // 清除之前的标记
        instance.mark(highlightKeywords[注:接受高亮词的数组], {
          separateWordSearch: false, // false指定将术语不分解为单独的单词
          each: function (markElement, eachInfo) {
            // markElement:当前被高亮的 DOM 元素。
            // eachInfo:包含匹配信息的对象,其中 eachInfo.match[0] 是匹配到的关键词
            const keyword = eachInfo.match[0];
            markElement.style.backgroundColor =
              keywordColors[keyword] || '#FBD1D5';// 设置颜色和默认颜色
          }
        });
    });

组件产出效果:

总结 

到此这篇关于vue使用advanced-mark.js实现高亮文字效果的文章就介绍到这了,更多相关vue高亮文字效果内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文