【问题标题】:How to put scrolling text in title tag?如何在标题标签中放置滚动文本?
【发布时间】:2013-05-03 07:57:45
【问题描述】:

我想让标题文本可滚动,我让代码在它下面滚动正常但我输入的文本显示时没有空格,这意味着字符串中的空格不考虑。

<script type="text/javascript">
    //function for tittle scrolling
    function scrlsts() {
        //var scrltest = " Nature ";
        scrltest=document.title;

        //alert(scrltest);
        scrltest = scrltest.substring(1, scrltest.length) + scrltest.substring(0, 1);

        //alert(scrltest);
        document.title = scrltest;

        setTimeout("scrlsts()", 1000);
    }
    $(document).ready(function() {
        var scrltest = " Nature dff ssfd ";
        document.title=scrltest;
        scrlsts();
    });
</script> 

提前致谢

【问题讨论】:

标签: javascript jquery html


【解决方案1】:

好久没做这些了,but this should work

(function titleScroller(text) {
    document.title = text;
    setTimeout(function () {
        titleScroller(text.substr(1) + text.substr(0, 1));
    }, 500);
}(" Nature dff ssfd "));

【讨论】:

  • 它不考虑最后一个空格意味着最后一个单词和第一个单词滚动结合
  • 我将 (" Nature dff ssfd ") 替换为 ( document.title + " - " ) 以使用初始标题标签并添加“-”结束。
【解决方案2】:

我做了一个简单的JavaScript library来完成这个任务。

【讨论】:

    【解决方案3】:
    <script type='text/javascript'> 
    title = "Your Title";
    position = 0;
    function scrolltitle() {
        document.title = title.substring(position, title.length) + title.substring(0, position); 
        position++;
        if (position > title.length) position = 0;
        titleScroll = window.setTimeout(scrolltitle,170);
    }
    scrolltitle();
    </script>
    

    要停止标题滚动,只需运行:

    window.clearTimeout(titleScroll);
    

    【讨论】:

      【解决方案4】:

      你可以试试这个:

      <script>
      
          var repeat=0 //enter 0 to not repeat scrolling after 1 run, othersise, enter 1
          var title=document.title
          var leng=title.length
          var start=1
          function titlemove() 
          {
              titl=title.substring(start, leng) + title.substring(0, start)
              document.title=titl
              start++
              if (start==leng+1`enter code here`) 
              {
                  start=0
                  if (repeat==0)
                  return
              }
              setTimeout("titlemove()",500)
          }
          if (document.title)
          titlemove()
      </script>
      

      【讨论】:

      • 很好的逻辑 if (start==leng+1enter code here) 在这里输入代码是什么意思
      【解决方案5】:

      我正在使用此处找到的滚动代码来滚动document.title 标签中的一长串表情符号。我注意到字符串中的第一个和最后一个表情符号字符有时会显示为方形问号错误图标。

      在对该问题进行一些研究后,看起来 JavaScript 不能很好地处理 UTF-16 代理对。我拼凑了一个可行的解决方案,我想我应该回到这里分享。

      我损坏的表情符号滚动条的解决方法是将一长串表情符号拆分为一个字符数组。然后我在更新document.title 之前移动数组并将其加入一个字符串。

      这个 StackOverflow 问题引导我朝着正确的方向前进: Split JavaScript string into array of codepoints? (taking into account “surrogate pairs” but not “grapheme clusters”)

      <script type = "text/javascript">
        var msg =
          "??????????????????????????????????????☹️??????????????????????????????????????????????????????????☠️?????????????";
        var chars = Array.from(msg);
      
        function scrollTitle() {
          chars.push(chars.shift());
          document.title = chars.join("");
          window.setTimeout(scrollTitle, 120);
        }
      
        (function() {
          scrollTitle();
        })();
      </script>

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-09-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-02-01
        • 1970-01-01
        相关资源
        最近更新 更多