簡體   English   中英

僅閃爍特定文本

[英]Blink only specific text

我必須使閃爍的文本,但僅在文本=“某物”的地方。 我已經有工作機制,但是不知道我可以把這種情況放在哪里,您能幫忙嗎?:

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>

我可以在此腳本中的哪兒指定僅在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&amp;grid-dir=0">MessageType</a></div></th>

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

您可以為此使用jquery的選擇器。即檢查要閃爍的ele的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
  }
}

這是對原始代碼的一個小修改,可以生效,並且您可以輕松更改要搜索的文本:

 $(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; } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="msgblink">something</div> <div class="msgblink">nothing</div> <div class="msgblink">something</div> <div class="msgblink">another</div> <table> <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> <tr> <td class="grid-cell msgblink" data-name="MessageType"> INFO something</td> </tr> </table> 

嘗試添加以下內容:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM