天进步一点点,首先点开下面的gif图,看一看效果
怎么样才能实现网页标题滚动效果呢?时间就是金钱,废话不多说,直接上代码:
var keyWords="我想变成一棵树,开心时在秋天开花,伤心时在春天落叶!";
function titleChange() {
var keyList=keyWords.split("");
var firstChar=keyList.shift();
keyList.push(firstChar);
keyWords=keyList.join("");
document.title=keyWords;
}
setInterval(titleChange, 500);
数一数确实不到十行哈哈哈哈,给自己点赞。
点了一个蚊香赞
然后解释一下每一行的意思吧:
首先创建了一个变量 keyWords,用来存放网页标题滚动的文字(字符串)
接着创建一个命名函数 titleChange 执行以下操作;
1. 用split() 方法(不改变原始字符串)将滚动的文字拆分为单个字符的数组keyList;
打印 keyList 结果
2. 用shift()方法移出位于数组 keyList 头部的元素,并用变量 firstChar 存储;
3. 用push()方法将步骤2中移除的字符,重新放到数组 keyList 的尾部;
4. 用join() 方法将数组重新拼接为字符串,替换原本 keyWords 中存储的文本(字符串);
5. 用 document.title 将步骤4中重新拼接的字符串,重新赋值到网页标题中;
这样就将 keyWords 中原本的第一个字符移动至最后一位
网页标题中原本位于第一个字符之后的文本会批量前移
实现文本向前滚动的效果,但是由于函数每次调用只会执行一次
所以最后我们还需要创建一个计时器,每隔500毫秒重新调用一次 titleChange 函数
最终实现网页标题循环滚动的效果了
我们还可以看一看控制台打印的 keyWords
啊呀!我感觉做了一个洗剪吹门口的霓虹灯呀 。。。
接上代码(很简单):
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>公告滚动</title>
<script src="js/jquery-1.11.0.js"></script>
<style>
*{
margin: 0;
padding: 0;
}
li{
list-style: none;
}
a {
text-decoration: none;
}
li a {
color: red;
}
#demo{
overflow: hidden;
height: 22px;
line-height: 22px;
}
</style>
</head>
<body>
<div>
<div style="float:left"><strong>公告:</strong></div>
<div id="demo">
<ul >
<li><a href="#" target="_blank">这是第一条公告</a></li>
<li><a href="#" target="_blank">这是第二条公告</a></li>
<li><a href="#" target="_blank">这是第三条公告</a></li>
<li><a href="#" target="_blank">这是第四条公告</a></li>
<li><a href="#" target="_blank">这是第五条公告</a></li>
</ul>
</div>
</div>
</body>
<script>
function topScroll(obj) {
$(obj).find("ul:first").animate({
marginTop: "-22px"
},
500,
function() {
$(this).css({
marginTop: "0px"
}).find("li:first").appendTo(this);
});
}
$(document).ready(function() {
setInterval('topScroll("#demo")', 1000)
});
</script>
</html>
效果如:
过js中的定时器实现标题走马灯的效果;通过向左向右按钮控制标题滚动方向
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>★滚动标题,实现走马灯效果☆</title>
<script type="text/javascript">
//页面加载完毕后执行
window.onload=function () {
//设置一个变量控制标题滚动方向
var dir='left';//默认向左滚动
window.setInterval(function () {
//设置向左滚动
if (dir=='left') {
//截取标题的第一个字符
var firstChar=document.title.charAt(0);
//截取剩余字符
var othersChar=document.title.substr(1);
//重新拼接组合标题字符 再赋值给title标签
document.title=othersChar + firstChar;
// 设置向右滚动
} else if (dir=='right') {
//截取标题最后的第一个字符
var lastChar=document.title.charAt(document.title.length - 1);
//截取剩余字符
var othersChar=document.title.substring(0, document.title.length - 1);
//重新赋值给title标签
document.title=lastChar + othersChar;
}
}, 500);
//========================================= //为两个按钮注册单击事件
document.getElementById('btnLeft').onclick=function () {
//修改方向变量 设置标题字符向左滚动
dir='left';
}
document.getElementById('btnRight').onclick=function () {
//修改方向变量 设置标题字符向右滚动
dir='right';
}
}
</script>
</head>
<body>
<input type="button" id="btnLeft" value="向左滚动" />
<input type="button" id="btnRight" value="向右滚动" />
</body>
</html>
注意:截取字符串方法 subStr()与subString()的区别,之前说过不再赘述
*请认真填写需求信息,我们会在24小时内与您取得联系。