jQuery實(shí)現(xiàn)的簡單歌詞滾動(dòng)功能示例
本文實(shí)例講述了jQuery實(shí)現(xiàn)的簡單歌詞滾動(dòng)功能。分享給大家供大家參考,具體如下:
jquery實(shí)現(xiàn)歌詞滾動(dòng)
1.css
/* CSS Document */
* {
margin: 0;
padding: 0;
font-size: 12px;
}
body {
background: none;
}
input,
button,
select,
textarea {
outline: none;
}
ul,
li,
dl,
ol {
list-style: none;
}
a {
color: #666;
text-decoration: none;
}
h1 {
font-size: 25px;
}
p {
font-size: 18px;
}
span {
font-size: 16px;
}
button {
font-size: 18px;
}
marquee {
border: 1px solid #0096BE;
margin: 30px auto;
}
.box {
/*width: 980px;*/
margin: 0 auto;
}
.bcon {
width: 270px;
border: 1px solid #eee;
margin: 30px auto;
}
.bcon h1 {
border-bottom: 1px solid #eee;
padding: 0 10px;
}
.bcon h1 b {
font: bold 14px/40px '宋體';
border-top: 2px solid #3492D1;
padding: 0 8px;
margin-top: -1px;
display: inline-block;
}
.list_lh {
height: 400px;
overflow: hidden;
}
.list_lh li {
padding: 10px;
overflow: hidden;
}
.list_lh li.lieven {
background: #F0F2F3;
}
.list_lh li p {
line-height: 24px;
}
.list_lh li p a {
float: left;
}
.list_lh li p em {
width: 80px;
font: normal 12px/24px Arial;
color: #FF3300;
float: right;
display: inline-block;
}
.list_lh li p span {
color: #999;
float: right;
}
.list_lh li p a.btn_lh {
background: #28BD19;
height: 17px;
line-height: 17px;
color: #fff;
padding: 0 5px;
margin-top: 4px;
display: inline-block;
float: right;
}
.btn_lh:hover {
color: #fff;
text-decoration: none;
}
.btm p {
font: normal 12px/24px 'Microsoft YaHei';
text-align: center;
}
2.html
<span>點(diǎn)擊確定顯示歌詞</span><button>確定</button>
<div class="box" style="display: none;">
<div class="bcon">
<h1><b>當(dāng)你老了</b></h1>
<!-- 代碼開始 -->
<div class="list_lh">
<ul>
<li>
<p>當(dāng)你老了 頭發(fā)白了 睡意昏沉</p>
</li>
<li>
<p>當(dāng)你老了 走不動(dòng)了</p>
</li>
<li>
<p>爐火旁打盹 回憶青春</p>
</li>
<li>
<p>多少人曾愛你 青春歡暢的時(shí)辰</p>
</li>
<li>
<p>愛慕你的美麗 假意或真心</p>
</li>
<li>
<p>只有一個(gè)人還愛你 虔誠的靈魂</p>
</li>
<li>
<p>愛你蒼老的臉上的皺紋</p>
</li>
<li>
<p>當(dāng)你老了 眼眉低垂 燈火昏黃不定</p>
</li>
<li>
<p>風(fēng)吹過來 你的消息 這就是我心里的歌</p>
</li>
<li>
<p>多少人曾愛你 青春歡暢的時(shí)辰</p>
</li>
<li>
<p>愛慕你的美麗 假意或真心</p>
</li>
<li>
<p>只有一個(gè)人還愛你 虔誠的靈魂</p>
</li>
<li>
<p>愛你蒼老的臉上的皺紋</p>
</li>
<li>
<p>當(dāng)你老了 眼眉低垂 燈火昏黃不定</p>
</li>
<li>
<p>風(fēng)吹過來 你的消息 這就是我心里的歌</p>
</li>
<li>
<p>當(dāng)我老了 我真希望 這首歌是唱給你的</p>
</li>
</ul>
</div>
3.js
$(document).ready(function() {
$('.list_lh li:even').addClass('lieven');
});
$(document).ready(function() {
$("button").click(function() {
$("span").hide("slow", function() {
$(".box").css("display", "block");
$("div.list_lh").myScroll({
speed: 60, //數(shù)值越大,速度越慢
rowHeight: 44 //li的高度
});
});
});
});
引入scroll.js
// JavaScript Document
(function($){
$.fn.myScroll = function(options){
//默認(rèn)配置
var defaults = {
speed:40, //滾動(dòng)速度,值越大速度越慢
rowHeight:24 //每行的高度
};
var opts = $.extend({}, defaults, options),intId = [];
var x = $("ul").find("li").length;//找到li的個(gè)數(shù)
var z=0;
function marquee(obj, step){
obj.find("ul").animate({
marginTop: '-=1'
},0,function(){
z = z + 1;
var s = Math.abs(parseInt($(this).css("margin-top")));
if(s >= step&&z<x){//z<x是為了讓循環(huán)只走一遍,如果去掉就是首尾不間斷滾動(dòng)
$(this).find("li").slice(0, 1).appendTo($(this));
$(this).css("margin-top", 0);
}
});
}
this.each(function(i){
var sh = opts["rowHeight"],speed = opts["speed"],_this = $(this);
intId[i] = setInterval(function(){
if(_this.find("ul").height()<=_this.height()){
clearInterval(intId[i]);
}else{
marquee(_this, sh);
}
}, speed);
_this.hover(function(){
clearInterval(intId[i]);
},function(){
intId[i] = setInterval(function(){
if(_this.find("ul").height()<=_this.height()){
clearInterval(intId[i]);
}else{
marquee(_this, sh);
}
}, speed);
});
});
}
})(jQuery);
完整實(shí)例代碼:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>www.dbjr.com.cn jQuery歌詞滾動(dòng)</title>
<style>
/* CSS Document */
* {
margin: 0;
padding: 0;
font-size: 12px;
}
body {
background: none;
}
input,
button,
select,
textarea {
outline: none;
}
ul,
li,
dl,
ol {
list-style: none;
}
a {
color: #666;
text-decoration: none;
}
h1 {
font-size: 25px;
}
p {
font-size: 18px;
}
span {
font-size: 16px;
}
button {
font-size: 18px;
}
marquee {
border: 1px solid #0096BE;
margin: 30px auto;
}
.box {
/*width: 980px;*/
margin: 0 auto;
}
.bcon {
width: 270px;
border: 1px solid #eee;
margin: 30px auto;
}
.bcon h1 {
border-bottom: 1px solid #eee;
padding: 0 10px;
}
.bcon h1 b {
font: bold 14px/40px '宋體';
border-top: 2px solid #3492D1;
padding: 0 8px;
margin-top: -1px;
display: inline-block;
}
.list_lh {
height: 400px;
overflow: hidden;
}
.list_lh li {
padding: 10px;
overflow: hidden;
}
.list_lh li.lieven {
background: #F0F2F3;
}
.list_lh li p {
line-height: 24px;
}
.list_lh li p a {
float: left;
}
.list_lh li p em {
width: 80px;
font: normal 12px/24px Arial;
color: #FF3300;
float: right;
display: inline-block;
}
.list_lh li p span {
color: #999;
float: right;
}
.list_lh li p a.btn_lh {
background: #28BD19;
height: 17px;
line-height: 17px;
color: #fff;
padding: 0 5px;
margin-top: 4px;
display: inline-block;
float: right;
}
.btn_lh:hover {
color: #fff;
text-decoration: none;
}
.btm p {
font: normal 12px/24px 'Microsoft YaHei';
text-align: center;
}
</style>
</head>
<body>
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
<script src="scroll.js"></script>
<span>點(diǎn)擊確定顯示歌詞</span><button>確定</button>
<div class="box" style="display: none;">
<div class="bcon">
<h1><b>當(dāng)你老了</b></h1>
<!-- 代碼開始 -->
<div class="list_lh">
<ul>
<li>
<p>當(dāng)你老了 頭發(fā)白了 睡意昏沉</p>
</li>
<li>
<p>當(dāng)你老了 走不動(dòng)了</p>
</li>
<li>
<p>爐火旁打盹 回憶青春</p>
</li>
<li>
<p>多少人曾愛你 青春歡暢的時(shí)辰</p>
</li>
<li>
<p>愛慕你的美麗 假意或真心</p>
</li>
<li>
<p>只有一個(gè)人還愛你 虔誠的靈魂</p>
</li>
<li>
<p>愛你蒼老的臉上的皺紋</p>
</li>
<li>
<p>當(dāng)你老了 眼眉低垂 燈火昏黃不定</p>
</li>
<li>
<p>風(fēng)吹過來 你的消息 這就是我心里的歌</p>
</li>
<li>
<p>多少人曾愛你 青春歡暢的時(shí)辰</p>
</li>
<li>
<p>愛慕你的美麗 假意或真心</p>
</li>
<li>
<p>只有一個(gè)人還愛你 虔誠的靈魂</p>
</li>
<li>
<p>愛你蒼老的臉上的皺紋</p>
</li>
<li>
<p>當(dāng)你老了 眼眉低垂 燈火昏黃不定</p>
</li>
<li>
<p>風(fēng)吹過來 你的消息 這就是我心里的歌</p>
</li>
<li>
<p>當(dāng)我老了 我真希望 這首歌是唱給你的</p>
</li>
</ul>
</div>
<script>
$(document).ready(function() {
$('.list_lh li:even').addClass('lieven');
});
$(document).ready(function() {
$("button").click(function() {
$("span").hide("slow", function() {
$(".box").css("display", "block");
$("div.list_lh").myScroll({
speed: 60, //數(shù)值越大,速度越慢
rowHeight: 44 //li的高度
});
});
});
});
</script>
</body>
</html>
效果:

感興趣的朋友可以使用本站在線HTML/CSS/JavaScript代碼運(yùn)行工具:http://tools.jb51.net/code/HtmlJsRun測試上述代碼運(yùn)行效果。
更多關(guān)于jQuery相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《jQuery常用插件及用法總結(jié)》、《jQuery拖拽特效與技巧總結(jié)》、《jQuery常見經(jīng)典特效匯總》、《jQuery擴(kuò)展技巧總結(jié)》、《jQuery表格(table)操作技巧匯總》、《jQuery動(dòng)畫與特效用法總結(jié)》及《jquery選擇器用法總結(jié)》
希望本文所述對大家jQuery程序設(shè)計(jì)有所幫助。
- jQuery實(shí)現(xiàn)判斷滾動(dòng)條滾動(dòng)到document底部的方法分析
- JavaScript實(shí)現(xiàn)的滾動(dòng)公告特效【基于jQuery】
- JQuery獲取元素尺寸、位置及頁面滾動(dòng)事件應(yīng)用示例
- Easyui 去除jquery-easui tab頁div自帶滾動(dòng)條的方法
- jquery簡單實(shí)現(xiàn)縱向的無縫滾動(dòng)代碼實(shí)例
- Jquery實(shí)現(xiàn)無縫向上循環(huán)滾動(dòng)列表的特效
- jQuery實(shí)現(xiàn)當(dāng)拉動(dòng)滾動(dòng)條到底部加載數(shù)據(jù)的方法分析
- 利用jquery和BootStrap實(shí)現(xiàn)動(dòng)態(tài)滾動(dòng)條效果
- jquery彈窗時(shí)禁止body滾動(dòng)條滾動(dòng)的例子
相關(guān)文章
jquery插件bootstrapValidator表單驗(yàn)證詳解
這篇文章主要為大家詳細(xì)介紹了jquery插件bootstrapValidator表單驗(yàn)證,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-12-12
jQuery實(shí)現(xiàn)form表單基于ajax無刷新提交方法實(shí)例代碼
在本篇文章里小編給大家整理了關(guān)于jQuery實(shí)現(xiàn)form表單基于ajax無刷新提交方法實(shí)例代碼,需要的朋友們參考下。2019-11-11
jcarousellite.js 基于Jquery的圖片無縫滾動(dòng)插件
基于Jquery的圖片無縫滾動(dòng)插件,需要的朋友可以參考下。2010-12-12
jQuery滾動(dòng)新聞實(shí)現(xiàn)代碼
這篇文章主要為大家詳細(xì)介紹了jQuery滾動(dòng)新聞實(shí)現(xiàn)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-06-06
ajax實(shí)現(xiàn)動(dòng)態(tài)下拉框示例
本篇文章主要介紹了ajax實(shí)現(xiàn)動(dòng)態(tài)下拉框示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-01-01
JS秒殺倒計(jì)時(shí)功能完整實(shí)例【使用jQuery3.1.1】
這篇文章主要介紹了JS秒殺倒計(jì)時(shí)功能,結(jié)合完整實(shí)例形式分析了基于jQuery3.1.1基于時(shí)間函數(shù)的頁面元素屬性動(dòng)態(tài)操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2019-09-09
jQuery/$ is not defined報(bào)錯(cuò)的幾種解決方法
jQuery最常見的錯(cuò)誤之一是$ is not defined錯(cuò)誤,本文主要介紹了jQuery/$ is not defined報(bào)錯(cuò)的幾種解決方法,具有一定的參考價(jià)值,感興趣的可以了解一下2024-02-02

