Javascript 突出显示angularjs中跨度的文本
目前,我有一个代码,如果与此数组匹配,则会突出显示列表中的单词Javascript 突出显示angularjs中跨度的文本,javascript,jquery,angularjs,filter,angular-filters,Javascript,Jquery,Angularjs,Filter,Angular Filters,目前,我有一个代码,如果与此数组匹配,则会突出显示列表中的单词 $scope.arrayFilter=["is","mom","beautifull",'beer']; 这段代码我不再需要了。我只需要突出显示数组中类“.marque”的文本,而不会丢失执行“marquee”效果的库的效果。我怎么做 妈妈很漂亮 var app=angular.module('testApp',[]); app.controller('testCtrl',函数($scope){ $scope.arra
$scope.arrayFilter=["is","mom","beautifull",'beer'];
这段代码我不再需要了。我只需要突出显示数组中类“.marque”的文本,而不会丢失执行“marquee”效果的库的效果。我怎么做
妈妈很漂亮
var app=angular.module('testApp',[]);
app.controller('testCtrl',函数($scope){
$scope.arrayFilter=[“妈妈”、“是”、“美丽的”、“啤酒”];
$scope.data=[{
标题:“妈妈很漂亮”
}, {
标题:“我妈妈很棒”
}, {
标题:“我讨厌数学”
}];
//字幕效应
$('.marquee')。marquee({
持续时间:5000
});
$(“.marquee”)
.bind('finished',function(){
console.log('finish')
$(this.html('如果有效,我需要一杯啤酒')
//再次应用字幕插件
马奎尔先生({
持续时间:5000,
})
})
});
应用过滤器('突出显示',功能($sce){
返回函数(文本、数组过滤器){
角度.forEach(数组过滤器,函数(键,值){
if(文本包括(键)){
text=text.replace(新的RegExp(键'gi'),'$&')
}
})
返回$sce.trustAsHtml(文本);
}
});
您可以向过滤器添加第二个参数,以指示如下所示的选框元素:
<div class='marquee' ng-bind-html="text | highlight:arrayFilter:true"></div>
请参阅下面的演示和:
var-app=angular.module('testApp',[]);
app.controller('testCtrl',函数($scope){
$scope.arrayFilter=[“是”、“妈妈”、“漂亮”、“啤酒”、“讨厌”];
$scope.data=[{
标题:“妈妈很漂亮”
}, {
标题:“我妈妈很棒”
}, {
标题:“我讨厌数学”
}];
$scope.text='如果有效,我需要一杯啤酒';
});
应用过滤器('突出显示',功能($sce){
返回函数(文本、数组过滤器、isMarquee){
角度.forEach(数组过滤器,函数(键,值){
if(文本包括(键)){
text=text.replace(新的RegExp(键'gi'),'$&')
}
})
如果(isMarquee)
//帐篷
$('.marquee')。marquee({
持续时间:5000
});
返回$sce.trustAsHtml(文本);
}
});代码>
.highlightedText{
背景:黄色;
}
马奎尔先生{
宽度:300px;
溢出:隐藏;
边框:1px实心#ccc;
}
妈妈很漂亮
如果你只想给你的字幕文本上色,你可以在你的里面有颜色:'color\u name'
。字幕
@AkashKC,那么你如何突出匹配的数组中的单词呢?@yavg类为字幕
的元素在数组之外,所以过滤器不会应用在它上面。。。请详细解释一下这个问题?@kukkuz你说的“阵外”是什么意思,我该怎么解决?对不起,我看错了。。。请在下面找到我的回复…伟大的人!如果我实时更新字幕的文本,如果找到它,它会突出显示该单词吗?
<div class='marquee' ng-bind-html="text | highlight:arrayFilter:true"></div>
if (isMarquee)
$('.marquee').marquee({duration: 5000});