在我实现QQ音乐官网的时候,遇到了这样的问题,就是title标签中文字过长时,如何实现文字的滚动效果呢?别慌,看下面的代码解析:
//我在动态的设置title标签中的内容,可以将text()中的内容看做是string
$("head title").text(" 正在播放 "+$item.get(0).music.name+"-"+$item.get(0).music.singer);
// console.log(console.log($("head title").text().split("")));
//将字符串分割成单独字符的数组
var arr = $("head title").text().split("");
function fun(){
//我们将当前数组的第一项添加到数组的最后一项中
arr.push(arr[0]);
//然后将数组的首项删除掉
arr.shift(arr[0]);
// console.log(arr.join(""));
//更新title标签中的内容
$("head title").text(arr.join(""));
}
//设置定时器执行fun函数,通过不断的对数组进行push、shift方法,就会形成title中文字的滚动效果
setInterval(fun,1000);
温馨提示: 本人使用的该种方法进行的处理方式,希望能够对大家起到帮助作用!
第二种方法:可以通过对字符串进行截取来处理。核心代码如下:
setInterval(() => {
//获取到头的第一个字符
var start = str.substring(0,1);
//获取到后面的所有字符
var end = str.substring(1);
//更新str,更新title中的text
str = end + start;
$("head title").text(str);
},400)