Javascript 仅闪烁特定文本
我必须制作闪烁文本,但仅限于文本=“某物”的位置。我已经有了工作机制,但不知道我可以把这个条件放在哪里,你能帮忙吗Javascript 仅闪烁特定文本,javascript,jquery,Javascript,Jquery,我必须制作闪烁文本,但仅限于文本=“某物”的位置。我已经有了工作机制,但不知道我可以把这个条件放在哪里,你能帮忙吗 css: .blink { color: #FFF !important; background: #FC79CE; } <script> $(document).ready(function () { blink(".msgblink", 4, 500); }); function
css:
.blink {
color: #FFF !important;
background: #FC79CE;
}
<script>
$(document).ready(function () {
blink(".msgblink", 4, 500);
});
function blink(elem, times, speed) {
if (times > 0 || times < 0) {
if ($(elem).hasClass("blink"))
$(elem).removeClass("blink");
else
$(elem).addClass("blink");
}
clearTimeout(function () { blink(elem, times, speed); });
if (times > 0 || times < 0) {
setTimeout(function () { blink(elem, times, speed); }, speed);
times -= .5;
}
}
</script>
css:
.眨眼{
颜色:#FFF!重要;
背景:#FC79CE;
}
$(文档).ready(函数(){
闪烁(“.msgblink”,4500);
});
功能闪烁(元素、次数、速度){
如果(次数>0 | |次<0){
if($(elem).hasClass(“闪烁”))
$(elem).removeClass(“闪烁”);
其他的
$(elem).addClass(“闪烁”);
}
clearTimeout(函数(){blink(元素、时间、速度);});
如果(次数>0 | |次<0){
setTimeout(函数(){blink(元素、时间、速度);},速度);
次数-=.5;
}
}
在这个脚本中,我可以指定只在text=“something”的地方闪烁
更新:
<th class="grid-header msgblink" title="MessageType"><div class="grid-filter" data-filterdata="[]" data-name="MessageType" data-type="System.String" data-widgetdata="null"><span class="grid-filter-btn" title="Filter this column"></span></div><div class="grid-header-title"><a href="?grid-column=MessageType&grid-dir=0">MessageType</a></div></th>
<td class="grid-cell msgblink" data-name="MessageType"> INFO something</td>
信息
您可以使用jquery的选择器进行此操作,即检查您将要闪烁的元素的html文本
例如:
$( "div:contains('John')" ).css( "text-decoration", "underline" );
您的闪烁功能可能如下所示
function blink(elem, times, speed) {
var id= $(elem).prop("id");
if($("#" +id + ":contains('John')" )
{
//your code to adding class
}
}
或者,如果您正在检查文本是否等于
function blink(elem, times, speed) {
alert($(elem).val())
if($(elem).val()==="something" )///for input element
//if($(elem).text()==="something" )//for other html element like div,span etc.
{
//your code to adding class
}
}
尝试添加以下内容:
function blink(elem, times, speed) {
if (elem.text() != "something") {
return;
}
// rest of code
以下是对原始代码的一个小修改,它可以正常工作,您可以轻松更改正在搜索的文本:
$(文档).ready(函数(){
//闪烁(“.msgblink”,4500);
$(“.msgblink”)。每个(函数(){
if($(this).text().indexOf('something')!=-1){
眨眼(这个,4500);
}
});
});
功能闪烁(元素、次数、速度){
如果(次数>0 | |次<0){
if($(elem).hasClass(“闪烁”))$(elem.removeClass(“闪烁”);
else$(elem).addClass(“闪烁”);
}
clearTimeout(函数(){
闪烁(元素、次数、速度);
});
如果(次数>0 | |次<0){
setTimeout(函数(){
闪烁(元素、次数、速度);
},速度);
次数-=.5;
}
}
。闪烁{
颜色:#FFF!重要;
背景:#FC79CE;
}
某物
没有什么
某物
另一个
信息
在blink函数中,您可以使用$(elem).val()来获取值并相应地切换blink类。我认为这正在运行。请查看我在更新部分I modyfy中的主要帖子,正如您所建议的,但它不起作用。@StackUser-尝试警告val的值,即警告($(“#“+id).val())检查它是否给了你一个值,你能不能把这个改变放在你的答案中,如果你能做到的话,我对jquery不太熟悉。@StackUser-更新代码试试看……如果你的元素不是输入元素,请使用html,我不知道为什么,但在实现后它工作不好,如果你能创建JSFIDLE,或者在不起作用的地方共享页面的url,这样会更容易提供帮助。您在控制台中看到一些错误吗?在控制台中看到一些错误(请注意,页面已正确加载,只是没有闪烁):“加载资源失败:服务器响应状态为404(未找到)”http://localhost:60243/u browserLink/requestData/5D4AB75D71984F6599DB9BD69CBBAC76JQuery是否已加载?$(document).ready(函数(){
执行了吗?我完全按照您发布的方式执行了。