`
ldl_xz
  • 浏览: 68789 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

分享一个JQuery写的点击上下滚动的小例子

 
阅读更多

效果图

enter image description here

演示地址 源码下载

<!--more-->

代码如下:

<!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>demo</title>
<script src="http://libs.baidu.com/jquery/1.7.2/jquery.js" type="text/javascript"></script>
<script type="text/javascript">
    if (typeof jQuery == 'undefined') {
        document.write(unescape("%3Cscript src='./js/jquery-1.7.2.js' type='text/javascript'%3E%3C/script%3E"));
    }
</script>
<style type="text/css">
    /*全局控制*/
    body{margin:0;padding:0;font-size:12px;font-family:"微软雅黑";-webkit-text-size-adjust:none;min-width: 1200px;}
    html,body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td,p{margin:0;padding:0;}
    input,select,textarea{font-size:12px;line-height:16px;}img{border:0;}ul,li{list-style-type:none;}
    a{color:#333;text-decoration:none;}
    a:hover{text-decoration:underline;}
    /*显示样式*/
    .tab_type li {background-color: #DDDEDC;width: 86px;line-height: 34px;text-align: center;margin-bottom: 1px;}
    .tab_type li a{ display: block; font-weight: bold;}
    .tab_type li a:hover{text-decoration: none;background-color:#D3B92A;}
    .tab_type li span{margin:0 2px;}
    .t_f{position: relative;top: -9px;font-size: 14px;}
    .t_n{font-size: 18px;}
    /*重要样式*/
    #scrollDiv{width: 86px;height: 185px;min-height: 25px;overflow: hidden;}
</style>
<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()+1; //获取行高  此处我加了1 因为样式中用到了margin-bottom:1px 这个根据自己情况修改   
                    var line = opt.line ? parseInt(opt.line, 10) : parseInt(this.height() / lineH, 10); //每次滚动的行数,默认为一屏,即父容器高度
                    var speed = opt.speed ? parseInt(opt.speed, 10) : 600; //卷动速度,数值越大,速度越慢(毫秒) 
                    var m = 0;  //用于计算的变量
                    var count = _this.find("li").length; //总共的<li>元素的个数
                    var upHeight = line * lineH;
                    var showline = opt.showline;//显示多少行
                    function scrollUp() {
                        if (!_this.is(":animated")) {  //判断元素是否正处于动画,如果不处于动画状态,则追加动画。
                            if (m < count) {  //判断 m 是否小于总的个数
                                var go_count = count-m-showline;
                                if((count-m)>showline){
                                    if(go_count<line){
                                        m += go_count;
                                        upHeight =  go_count * lineH;
                                        _this.animate({ marginTop: "-=" + upHeight + "px" }, speed);
                                    }else{
                                        m += line;
                                        upHeight =  line * lineH;
                                        _this.animate({ marginTop: "-=" + upHeight + "px" }, speed);
                                    }
                                }else{


                                }
                            }
                        }
                    }
                    function scrollDown() {
                        if (!_this.is(":animated")) {
                            if(m>0){
                                if (m > line) { //判断m 是否大于一屏个数
                                    m -= line;
                                    upHeight =  line * lineH;
                                    _this.animate({ marginTop: "+=" + upHeight + "px" }, speed);
                                }else{
                                    upHeight =  m * lineH;
                                    m -= m;
                                    _this.animate({ marginTop: "+=" + upHeight + "px" }, speed);
                                }
                            }
                        }
                    }
                    _btnUp.bind("click", scrollUp);
                    _btnDown.bind("click", scrollDown);
                }
            });
        })(jQuery);
      $(function () {
            $("#scrollDiv").Scroll({ line: 2, speed: 500,up: "btn1", down: "btn2",showline:5 });
        });
</script>
</head>
<body>
    <div class="tab_type">
        <!--核心代码 开始-->
        <div id="scrollDiv">
            <ul>
                    <li><a href="javascript:"><span class="t_f">□</span><span class="t_n">36</span><span class="">mm</span></a></li>
                    <li><a href="javascript:"><span class="t_f">□</span><span class="t_n">38</span><span class="">mm</span></a></li>
                    <li><a href="javascript:"><span class="t_f">□</span><span class="t_n">40</span><span class="">mm</span></a></li>
                    <li><a href="javascript:"><span class="t_f">□</span><span class="t_n">52</span><span class="">mm</span></a></li>
                    <li><a href="javascript:"><span class="t_f">□</span><span class="t_n">60</span><span class="">mm</span></a></li>
                    <li><a href="javascript:"><span class="t_f">□</span><span class="t_n">70</span><span class="">mm</span></a></li>
                    <li><a href="javascript:"><span class="t_f">□</span><span class="t_n">80</span><span class="">mm</span></a></li>
                    <li><a href="javascript:"><span class="t_f">□</span><span class="t_n">92</span><span class="">mm</span></a></li>
                    <li><a href="javascript:"><span class="t_f">□</span><span class="t_n">120</span><span class="">mm</span></a></li>
                    <li><a href="javascript:"><span class="t_f">□</span><span class="t_n">130</span><span class="">mm</span></a></li>
            </ul>
        </div>
        <input type="button" id="btn1" value="上滚" />
        <input type="button" id="btn2" value="下滚" />
        <!--核心代码 结束-->
    </div>

</body>
</html>

转载自:http://www.9958.pw/post/jquery_up_and_down

分享到:
评论

相关推荐

    一个JQuery写的点击上下滚动的小例子

    标题中的“一个JQuery写的点击上下滚动的小例子”是指使用jQuery库实现的一种用户交互功能,允许用户通过点击按钮来上下滚动页面内的内容,而不是自动滚动。这个功能在很多网页设计中都有应用,例如新闻列表或者产品...

    jQuery单行文字上下不间断循环滚动效果,适合做新闻滚动推荐

    标题和描述提到的"jQuery单行文字上下不间断循环滚动效果"就是一个这样的实例,它主要用于创建一串文字在单一行内循环滚动,通常用于网站的头部或侧边栏,以动态展示最新的新闻标题或公告。 要实现这个效果,首先...

    jQuery新闻图片上下滚动切换代码.zip

    这个"jQuery新闻图片上下滚动切换代码.zip"压缩包包含了一个使用jQuery实现的新闻图片滚动切换效果,特别适合用于网站的新闻展示或者产品展示区域,以吸引用户的注意力并提供动态的用户体验。 首先,我们要理解...

    jquery广告上下左右滚动效果

    首先,jQuery是一个强大的JavaScript库,它简化了DOM操作、事件处理和动画效果等任务。在"jquery广告上下左右滚动效果"项目中,我们主要关注的是动画效果部分。 1. **引入jQuery库**: 在HTML文件(如`图标滑动...

    jQuery网站公告上下滚动自动轮播代码.zip

    总的来说,这个压缩包提供了一个完整的解决方案,用于在网站上创建一个自动上下滚动的公告栏。用户可以根据自己的需求调整HTML布局,修改CSS样式以适应网站设计,甚至深入到JavaScript代码中进行二次开发,以满足更...

    用jQuery做的一个简单的图片上下轮播特效

    首先,jQuery是一个轻量级的JavaScript库,它的目标是“写得更少,做得更多”。它简化了DOM操作、事件处理、动画效果以及Ajax交互,使得开发者能更高效地编写JavaScript代码。 **一、HTML结构** 在`index.html`...

    jquery 图片 上下页

    在本文中,我们将深入探讨如何使用jQuery库来创建一个效果炫酷的图片查看器,尤其关注如何通过上下键实现图片的翻页功能。jQuery是一个强大的JavaScript库,它简化了HTML文档遍历、事件处理、动画设计和Ajax交互,...

    jQuery实现的活动内容鼠标点击上下滚动切换特效源码.zip

    本资源"jQuery实现的活动内容鼠标点击上下滚动切换特效源码.zip"提供了一个使用jQuery创建的动态效果,使得网页内容可以通过鼠标点击在上下之间平滑滚动切换。这一功能常见于网站的轮播图、新闻滚动或产品展示区域,...

    jquery上下页面视差滚动切换效果

    **jQuery上下页面视差滚动切换效果详解** 在网页设计中,视差滚动是一种常见的特效,它使得背景元素相对于前景元素以不同的速度移动,营造出深度感和动态视觉体验。jQuery库因其丰富的功能和易用性,常被用来实现...

    jQuery排名文字无缝循环向上滚动代码

    在这个例子中,我们可能有一个名为`script.js`的文件,使用jQuery库来处理滚动逻辑。jQuery的选择器、动画函数和事件监听是实现此效果的关键: ```javascript $(document).ready(function() { var $container = $...

    jQuery仿flash导航条鼠标悬停上下文字滑动

    总结来说,"jQuery仿flash导航条鼠标悬停上下文字滑动"是一个结合了HTML结构、CSS样式和jQuery脚本技术的示例,展示了如何利用现代Web技术创建动态且交互性强的网页元素。通过理解并实践这个例子,开发者可以提升...

    jquery 3D壁框滑动展示.rar

    本资源"jquery 3D壁框滑动展示"就是一个很好的例子,它利用jQuery实现了3D效果的墙面展示,为用户带来独特的浏览体验。 首先,让我们深入了解3D壁框滑动展示的概念。这种技术通常应用于产品展示、图片库或任何需要...

    发布一个jquery插件-图片纵向(向上)循环滚动

    本教程将介绍如何创建一个基于jQuery的插件,实现图片的纵向(向上)循环滚动效果,这样的功能常用于网站的轮播图或者产品展示。 首先,我们需要了解jQuery插件的基本结构。一个基本的jQuery插件定义通常如下: ``...

    jQuery网页上下滚动背景变色特效.zip

    在这个"jQuery网页上下滚动背景变色特效.zip"压缩包中,包含了一个使用jQuery实现的网页背景颜色随滚动条移动而变化的特效。这个特效可以增强用户体验,为网站增添动态感。 首先,我们来了解一下jQuery的核心概念。...

    jQuery上下滑动缩略图字幕效果

    **jQuery上下滑动缩略图字幕效果**是一种在网页设计中常见的动态展示技术,它利用了流行的JavaScript库——jQuery,来实现用户交互时的视觉反馈。这种效果常见于产品展示、图片画廊或者多媒体内容的预览,通过增强...

    jquery鼠标悬停滑动切换特效

    "jquery鼠标悬停滑动切换特效"是一个利用jQuery实现的功能,它允许用户在鼠标悬停时,页面上的元素如图片、内容区块等能够平滑地切换显示,提供一种动态且吸引人的视觉效果。这种效果通常用于展示产品系列、图片轮播...

    jQuery实现的图标导航上下滚动切换效果源码.zip

    该资源是一个基于jQuery库实现的图标导航条,具备上下滚动切换效果的源代码。这个功能在许多现代网页设计中很常见,特别是在响应式布局中,它可以帮助用户在长页面中轻松浏览和访问导航链接。接下来,我们将深入探讨...

    jquery常用定时滚动效果,支持所有浏览器,可控制滚动方向、速度、大小,点击滚动

    这个例子中,我们创建了一个红色的`&lt;div&gt;`作为滚动容器,点击“开始滚动”按钮会开始上滚动,而“停止滚动”按钮则会结束滚动。请注意,这只是一个基础示例,实际应用中需要根据具体需求进行调整和优化。 通过以上...

Global site tag (gtag.js) - Google Analytics