极乐门资源网 Design By www.ioogu.com
功能需求:
1、滚动框内显示10条记录;
2、有向上和向下滚动按钮,每次点击按钮向上或向下滚动记录条数,不自动滚动;
3、记录条数不循环滚动,滚动到起点或终点则停止滚动。
下面介绍一个简单实现方法:
1、外层容器(div) overflow: hidden,内层列表(ul)
2、按钮点击事件触发一个修改列表的函数
3、应用animate实现动画效果
具体不再啰嗦,直接上代码
CSS设置
复制代码 代码如下:
<style type="text/css">
ul, li
{
margin: 0;
padding: 0;
}
#scrollDiv
{
width: 300px;
height: 250px;
min-height: 25px;
line-height: 25px;
border: #ccc 1px solid;
overflow: hidden;
}
#scrollDiv li
{
height: 25px;
padding-left: 10px;
}
</style>
JQuery 代码
复制代码 代码如下:
<script type="text/javascript">
(function ($) {
$.fn.extend({
Scroll: function (opt, callback) {
if (!opt) var opt = {};
var _btnUp = $("#" + opt.up); //Shawphy:向上按钮
var _btnDown = $("#" + opt.down); //Shawphy:向下按钮
var _this = this.eq(0).find("ul:first");
var lineH = _this.find("li:first").height(); //获取行高
var line = opt.line ? parseInt(opt.line, 10) : parseInt(this.height() / lineH, 10); //每次滚动的行数,默认为一屏,即父容器高度
var speed = opt.speed ? parseInt(opt.speed, 10) : 600; //卷动速度,数值越大,速度越慢(毫秒)
var m = line; //用于计算的变量
var count = _this.find("li").length; //总共的<li>元素的个数
var upHeight = line * lineH;
function scrollUp() {
if (!_this.is(":animated")) { //判断元素是否正处于动画,如果不处于动画状态,则追加动画。
if (m < count) { //判断 m 是否小于总的个数
m += line;
_this.animate({ marginTop: "-=" + upHeight + "px" }, speed);
}
}
}
function scrollDown() {
if (!_this.is(":animated")) {
if (m > line) { //判断m 是否大于一屏个数
m -= line;
_this.animate({ marginTop: "+=" + upHeight + "px" }, speed);
}
}
}
_btnUp.bind("click", scrollUp);
_btnDown.bind("click", scrollDown);
}
});
})(jQuery);
$(function () {
$("#scrollDiv").Scroll({ line: 10, speed: 500,up: "btn1", down: "btn2" });
});
</script>
可以设置$("#scrollDiv").Scroll({ line: 10, speed: 500,up: "btn1", down: "btn2" });对滚动按钮,滚动行数,滚动速度进行设置。
Html Body 内容
复制代码 代码如下:
<body>
<p style="font-family: 微软雅黑; font-weight: bold;">
信息滚动栏DEMO:</p>
<div id="scrollDiv">
<ul>
<li>这是滚动信息的第1行</li>
<li>这是滚动信息的第2行</li>
<li>这是滚动信息的第3行</li>
<li>这是滚动信息的第4行</li>
<li>这是滚动信息的第5行</li>
<li>这是滚动信息的第6行</li>
<li>这是滚动信息的第7行</li>
<li>这是滚动信息的第8行</li>
<li>这是滚动信息的第9行</li>
<li>这是滚动信息的第10行</li>
<li>这是滚动信息的第11行</li>
<li>这是滚动信息的第12行</li>
<li>这是滚动信息的第13行</li>
<li>这是滚动信息的第14行</li>
<li>这是滚动信息的第15行</li>
<li>这是滚动信息的第16行</li>
<li>这是滚动信息的第17行</li>
<li>这是滚动信息的第18行</li>
<li>这是滚动信息的第19行</li>
<li>这是滚动信息的第20行</li>
<li>这是滚动信息的第21行</li>
<li>这是滚动信息的第22行</li>
<li>这是滚动信息的第23行</li>
<li>这是滚动信息的第24行</li>
<li>这是滚动信息的第25行</li>
<li>这是滚动信息的第26行</li>
<li>这是滚动信息的第27行</li>
<li>这是滚动信息的第28行</li>
<li>这是滚动信息的第29行</li>
<li>这是滚动信息的第30行</li>
<li>这是滚动信息的第31行</li>
<li>这是滚动信息的第32行</li>
</ul>
</div>
<button id="btn1">
上滚</button>
<button id="btn2">
下滚</button>
</body>
1、滚动框内显示10条记录;
2、有向上和向下滚动按钮,每次点击按钮向上或向下滚动记录条数,不自动滚动;
3、记录条数不循环滚动,滚动到起点或终点则停止滚动。
下面介绍一个简单实现方法:
1、外层容器(div) overflow: hidden,内层列表(ul)
2、按钮点击事件触发一个修改列表的函数
3、应用animate实现动画效果
具体不再啰嗦,直接上代码
CSS设置
复制代码 代码如下:
<style type="text/css">
ul, li
{
margin: 0;
padding: 0;
}
#scrollDiv
{
width: 300px;
height: 250px;
min-height: 25px;
line-height: 25px;
border: #ccc 1px solid;
overflow: hidden;
}
#scrollDiv li
{
height: 25px;
padding-left: 10px;
}
</style>
JQuery 代码
复制代码 代码如下:
<script type="text/javascript">
(function ($) {
$.fn.extend({
Scroll: function (opt, callback) {
if (!opt) var opt = {};
var _btnUp = $("#" + opt.up); //Shawphy:向上按钮
var _btnDown = $("#" + opt.down); //Shawphy:向下按钮
var _this = this.eq(0).find("ul:first");
var lineH = _this.find("li:first").height(); //获取行高
var line = opt.line ? parseInt(opt.line, 10) : parseInt(this.height() / lineH, 10); //每次滚动的行数,默认为一屏,即父容器高度
var speed = opt.speed ? parseInt(opt.speed, 10) : 600; //卷动速度,数值越大,速度越慢(毫秒)
var m = line; //用于计算的变量
var count = _this.find("li").length; //总共的<li>元素的个数
var upHeight = line * lineH;
function scrollUp() {
if (!_this.is(":animated")) { //判断元素是否正处于动画,如果不处于动画状态,则追加动画。
if (m < count) { //判断 m 是否小于总的个数
m += line;
_this.animate({ marginTop: "-=" + upHeight + "px" }, speed);
}
}
}
function scrollDown() {
if (!_this.is(":animated")) {
if (m > line) { //判断m 是否大于一屏个数
m -= line;
_this.animate({ marginTop: "+=" + upHeight + "px" }, speed);
}
}
}
_btnUp.bind("click", scrollUp);
_btnDown.bind("click", scrollDown);
}
});
})(jQuery);
$(function () {
$("#scrollDiv").Scroll({ line: 10, speed: 500,up: "btn1", down: "btn2" });
});
</script>
可以设置$("#scrollDiv").Scroll({ line: 10, speed: 500,up: "btn1", down: "btn2" });对滚动按钮,滚动行数,滚动速度进行设置。
Html Body 内容
复制代码 代码如下:
<body>
<p style="font-family: 微软雅黑; font-weight: bold;">
信息滚动栏DEMO:</p>
<div id="scrollDiv">
<ul>
<li>这是滚动信息的第1行</li>
<li>这是滚动信息的第2行</li>
<li>这是滚动信息的第3行</li>
<li>这是滚动信息的第4行</li>
<li>这是滚动信息的第5行</li>
<li>这是滚动信息的第6行</li>
<li>这是滚动信息的第7行</li>
<li>这是滚动信息的第8行</li>
<li>这是滚动信息的第9行</li>
<li>这是滚动信息的第10行</li>
<li>这是滚动信息的第11行</li>
<li>这是滚动信息的第12行</li>
<li>这是滚动信息的第13行</li>
<li>这是滚动信息的第14行</li>
<li>这是滚动信息的第15行</li>
<li>这是滚动信息的第16行</li>
<li>这是滚动信息的第17行</li>
<li>这是滚动信息的第18行</li>
<li>这是滚动信息的第19行</li>
<li>这是滚动信息的第20行</li>
<li>这是滚动信息的第21行</li>
<li>这是滚动信息的第22行</li>
<li>这是滚动信息的第23行</li>
<li>这是滚动信息的第24行</li>
<li>这是滚动信息的第25行</li>
<li>这是滚动信息的第26行</li>
<li>这是滚动信息的第27行</li>
<li>这是滚动信息的第28行</li>
<li>这是滚动信息的第29行</li>
<li>这是滚动信息的第30行</li>
<li>这是滚动信息的第31行</li>
<li>这是滚动信息的第32行</li>
</ul>
</div>
<button id="btn1">
上滚</button>
<button id="btn2">
下滚</button>
</body>
标签:
上下滚动
极乐门资源网 Design By www.ioogu.com
极乐门资源网
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
极乐门资源网 Design By www.ioogu.com
暂无一个JQuery写的点击上下滚动的小例子的评论...
稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!
昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。
这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。
而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?
更新日志
2025年01月21日
2025年01月21日
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]