仅闪烁特定文本

时间:2015-07-03 05:57:38

标签: javascript jquery

我必须制作闪烁的文字,但仅限于文字="某些内容"。我已经有了工作机制,但不知道我能把这个条件放在哪里,你能帮忙吗?:

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>

在这个脚本里面我可以指定只在文字=&#34;某些东西&#34;?

的地方闪烁

更新

<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&amp;grid-dir=0">MessageType</a></div></th>

<td class="grid-cell msgblink" data-name="MessageType"> INFO something</td>

3 个答案:

答案 0 :(得分:1)

你可以使用jquery的.Contains选择器,即检查你将要眨眼的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
  }
}

答案 1 :(得分:1)

以下是对原始代码的一个小修改,它可以轻松更改您要搜索的文本:

{
    _id: ObjectId("557138249d46084df20620dd"),
    name: "Example"
    employee: [
        {
            username: "example@domain.com",
            address: []
        }
    ]
}
$(document).ready(function () {
    //blink(".msgblink", 4, 500);
    $(".msgblink").each(function () {
        if ($(this).text().indexOf('something') !== -1) {
            blink(this, 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;
    }
}
.blink {
    color: #FFF !important;
    background: #FC79CE;
}

答案 2 :(得分:0)

尝试添加此内容:

function blink(elem, times, speed) {
   if (elem.text() != "something") { 
     return;
   }
   // rest of code