uniapp搜索出的文字高光并添加锚点

uniapp搜索出的文字高光并添加锚点

步骤一:

<u-search placeholder="请输入关键字" v-model="keyword" @search="searchVal" :show-action="false" shape="square" bg-color="#FFFFFF" border-color="#D7D7D7"></u-search>

data里定义一个keyword

步骤二:

<view class="adult_cont" v-html="brightenKeyword(item.title,keyword)">{{item.title}}</view>

使用v-html标签,会输出运算以后的结果

步骤三:

brightenKeyword(val) {
	let keyword = this.keyword;
	if (keyword.length > 0) {
		val = val + "";
		val = val.replace(new RegExp(keyword, 'g'),
		`<a id="${keyword}" class="${keyword}" style="background-color: #ffdf25;color: white;">${keyword}</a>`
		);
		return val;
	} else {
		return val;
	}
}

步骤四:

searchVal() {
	this.brightenKeyword();
	//锚点
	uni.createSelectorQuery().select("." + this.keyword).boundingClientRect(data => { //目标位置节点 类或者 id 
		uni.createSelectorQuery().select(".illness_content").boundingClientRect((res) => { //最外层盒子节点类或者 id
			uni.pageScrollTo({
				duration: 200, //过渡时间
				scrollTop: data.top - res.top, //到达距离顶部的top值
			})
		}).exec()
	}).exec();
},

** 首先调用brightenKeyword函数,然后接下来的代码就是锚点的代码了**

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

有思想的前端

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值