`

Jquery滚动条定位插件

 
阅读更多

Jquery滚动条定位插件(jquery.scrollto.js)

使用方法:

$(‘被点击元素选择器’).scrollTo(‘目标’,‘speed’,‘setting’ );

$.scrollTo(‘目标’,‘speed’,‘setting’ );//网页初始化后立刻滚动

 

目标选择器可以使选择器,‘top’, ‘bottom’

 

速度初始为800

 

设定 axis: 可选设定'xy':横向纵向都滚动。

           'x':横向滚动

           'y':纵向滚动

  easing:滚动效果(jQuery内置效果),默认滑动

 

 

 

 

 

 

页面代码

<html>
<head>
<title></title>

<script src="js/wjb/lib/jquery-1.3.2.min.js" type="text/javascript"></script>
<script src="js/wjb/ext/jquery.scrollto.js" type="text/javascript"></script>
<script type="text/javascript" language="javascript">
    function goto(id) {
        $("#" + id).ScrollTo(800);
    }
</script>
</head>
<body>
<br /><br />
<a  id="haha" style="color:Red;cursor:pointer;" onclick="javascript:goto('hehe');return false;">我跳↓</a>
<br /><br /><br /><br />
<br /><br /><br /><br />
<br /><br /><br /><br />
<br /><br /><br /><br />
<br /><br /><br /><br />
<br /><br /><br /><br />
<br /><br /><br /><br />
<br /><br /><br /><br />
<br /><br /><br /><br />
<br /><br /><br /><br />
<br /><br /><br /><br />
<br /><br /><br /><br />
<br /><br /><br /><br />
<br /><br /><br /><br />
<br /><br /><br /><br />
<br /><br /><br /><br />
<br /><br /><br /><br />
<br /><br /><br /><br />
<br /><br /><br /><br />
<br /><br /><br /><br />
<br /><br /><br /><br />
<br /><br /><br /><br />
<div id="hehe" style="color:Red;cursor:pointer;" onclick="javascript:goto('haha');return false;">我再跳↑</div>
</body>
</html>   

 jquery.scrollto.js 内容如下:

 

jQuery.getPos = function (e)
{
    var l = 0;
    var t  = 0;
    var w = jQuery.intval(jQuery.css(e,'width'));
    var h = jQuery.intval(jQuery.css(e,'height'));
    var wb = e.offsetWidth;
    var hb = e.offsetHeight;
    while (e.offsetParent){
        l += e.offsetLeft + (e.currentStyle?jQuery.intval(e.currentStyle.borderLeftWidth):0);
        t += e.offsetTop  + (e.currentStyle?jQuery.intval(e.currentStyle.borderTopWidth):0);
        e = e.offsetParent;
    }
    l += e.offsetLeft + (e.currentStyle?jQuery.intval(e.currentStyle.borderLeftWidth):0);
    t  += e.offsetTop  + (e.currentStyle?jQuery.intval(e.currentStyle.borderTopWidth):0);
    return {x:l, y:t, w:w, h:h, wb:wb, hb:hb};
};
jQuery.getClient = function(e)
{
    if (e) {
        w = e.clientWidth;
        h = e.clientHeight;
    } else {
        w = (window.innerWidth) ? window.innerWidth : (document.documentElement && document.documentElement.clientWidth) ? document.documentElement.clientWidth : document.body.offsetWidth;
        h = (window.innerHeight) ? window.innerHeight : (document.documentElement && document.documentElement.clientHeight) ? document.documentElement.clientHeight : document.body.offsetHeight;
    }
    return {w:w,h:h};
};
jQuery.getScroll = function (e) 
{
    if (e) {
        t = e.scrollTop;
        l = e.scrollLeft;
        w = e.scrollWidth;
        h = e.scrollHeight;
    } else  {
        if (document.documentElement && document.documentElement.scrollTop) {
            t = document.documentElement.scrollTop;
            l = document.documentElement.scrollLeft;
            w = document.documentElement.scrollWidth;
            h = document.documentElement.scrollHeight;
        } else if (document.body) {
            t = document.body.scrollTop;
            l = document.body.scrollLeft;
            w = document.body.scrollWidth;
            h = document.body.scrollHeight;
        }
    }
    return { t: t, l: l, w: w, h: h };
};

jQuery.intval = function (v)
{
    v = parseInt(v);
    return isNaN(v) ? 0 : v;
};

jQuery.fn.ScrollTo = function(s) {
    o = jQuery.speed(s);
    return this.each(function(){
        new jQuery.fx.ScrollTo(this, o);
    });
};

jQuery.fx.ScrollTo = function (e, o)
{
    var z = this;
    z.o = o;
    z.e = e;
    z.p = jQuery.getPos(e);
    z.s = jQuery.getScroll();
    z.clear = function(){clearInterval(z.timer);z.timer=null};
    z.t=(new Date).getTime();
    z.step = function(){
        var t = (new Date).getTime();
        var p = (t - z.t) / z.o.duration;
        if (t >= z.o.duration+z.t) {
            z.clear();
            setTimeout(function(){z.scroll(z.p.y, z.p.x)},13);
        } else {
            st = ((-Math.cos(p*Math.PI)/2) + 0.5) * (z.p.y-z.s.t) + z.s.t;
            sl = ((-Math.cos(p*Math.PI)/2) + 0.5) * (z.p.x-z.s.l) + z.s.l;
            z.scroll(st, sl);
        }
    };
    z.scroll = function (t, l){window.scrollTo(l, t)};
    z.timer=setInterval(function(){z.step();},13);
};

 

分享到:
评论

相关推荐

    jQuery滚动条美化插件

    **jQuery滚动条美化插件详解** 在网页设计中,滚动条是用户与页面交互的重要元素,但默认的滚动条样式通常较为简陋,与现代网页的美观性要求有所差距。为了解决这个问题,开发者们利用JavaScript库,如jQuery,创建...

    华丽滚动条滚动条Jquery

    1. **Jquery选择器**:Jquery提供了丰富的选择器,如ID选择器、类选择器、属性选择器等,使我们能够精准地定位到页面上的滚动条元素,对其进行样式修改或添加动态效果。 2. **Jquery事件**:Jquery支持多种事件,如...

    jQuery滚动插件

    **jQuery滚动插件详解** jQuery滚动插件是用于增强网页滚动效果的一种JavaScript库,它能够帮助开发者轻松实现平滑滚动、无限滚动、滚动监听等多种功能,极大地提升了用户体验。在网页设计中,滚动效果是一个重要的...

    jquery滚动条-2

    在IT行业中,jQuery是一个广泛使用的...总的来说,jQuery滚动条的实现涉及到了JavaScript编程、CSS样式设计以及jQuery插件的应用。通过这些技术,开发者能够创造出既美观又实用的滚动条效果,提升用户的浏览体验。

    jquery滚动条美化Scrollbar

    在"jquery滚动条美化Scrollbar"项目中,我们主要是利用jQuery插件来改变默认滚动条的样式,使其更符合网页的整体设计风格,提高用户的浏览体验。 这个项目的核心是实现滚动条的CSS3自定义,CSS3允许我们通过伪元素`...

    jQuery中的Scroll插件

    首先,jQuery Scroll插件并非jQuery核心库的一部分,而是由社区开发的一系列扩展,用于增强网页滚动功能。一个常见的Scroll插件是`jquery.scrollTo`,它允许开发者精确地控制页面滚动到指定的位置,提供了一种平滑的...

    Jquery表格添加滚动条插件,固定表头

    总的来说,"Jquery表格添加滚动条插件,固定表头"这个主题涉及到前端开发中的DOM操作、事件处理、CSS样式和JavaScript插件使用。通过使用jQuery和相应的插件,我们可以提供更优秀的用户体验,使用户在浏览大数据量的...

    Jquery跟随滚动条漂浮层

    总结起来,"Jquery跟随滚动条漂浮层"涉及到jQuery选择器、事件处理、CSS定位、动态计算和响应式设计等多个知识点。通过理解和应用这些技术,我们可以创建出既实用又美观的网页交互效果。在实际项目中,还可以结合...

    基于jquery的自定义滚动条

    5. **插件使用**:有许多现成的jQuery滚动条插件,如`malihu-custom-scrollbar-plugin`、`nanoScroller`等,它们提供了丰富的配置选项和预设样式,可以快速实现自定义滚动条功能。在项目中,可以根据需求选择合适的...

    jquery 滚动条

    标题中的“jQuery滚动条”指的是使用JavaScript库jQuery来管理和控制网页中的滚动条效果。jQuery是一个广泛使用的JavaScript库,它简化了HTML文档遍历、事件处理、动画制作和Ajax交互等任务。在网页设计中,滚动条是...

    JQuery固定定位插件(兼容所有浏览器,包括IE6)

    在上面的代码中,`#myElement`是你想要固定定位的元素ID,`top: 200`表示当滚动条距离顶部200像素时开始固定,`direction: 'down'`表示只有当用户向下滚动时才执行固定定位。 总的来说,"JQuery固定定位插件"是一个...

    jquery滚动滚动条加载数据 类似瀑布流

    **jQuery滚动加载数据实现瀑布流布局** 在网页设计中,瀑布流(Masonry)布局是一种流行的方式,它能展示信息时让页面看起来更加美观且有层次感,类似于QQ空间动态加载数据的效果。当用户滚动页面时,内容会随着...

    实用的jquery横向无限循环滚动插件

    这种被称为"自动无限传送带"的效果,常用于网站的轮播图、商品展示区域或新闻滚动条等场景。 首先,我们需要理解jQuery的基本概念。jQuery是一个轻量级的JavaScript库,它简化了DOM操作、事件处理、动画以及Ajax...

    jquery元素滚动插件

    为了实现更复杂的元素滚动效果,如平滑滚动、无限滚动等,我们就需要借助于专门的jQuery滚动插件。这里以"ele-scroll-master"为例,这是一个专注于元素滚动的插件,它可能包含了以下功能: 1. **平滑滚动**:提供...

    简单实用的App样式单页全屏滚动布局jQuery插件

    AppLikeOnePage.js的核心特性在于它能够创建一个没有传统滚动条的单页全屏布局。用户可以通过鼠标滚轮或者键盘的上下方向键来实现页面的整屏滚动,这既符合用户的操作习惯,也使得网页看起来更加整洁和专业。这种...

    可水平和垂直滚动的jQuery固定单元行表格插件

    jQuery的核心特性包括选择器(用于快速定位DOM元素)、链式操作(允许连续调用方法)和高效的动画效果。 在【标题】中提到的“可水平和垂直滚动的jQuery固定单元行表格插件”,这是一个专门针对HTML表格设计的...

    jQuery插件实现的页面内的(图片文章)滚动条.zip

    jQuery,一个广泛使用的JavaScript库,为开发者提供了丰富的API和插件,使得定制化滚动条变得轻松易行。本文将深入探讨如何利用jQuery插件实现页面内的图片文章滚动条,并详细解析其工作原理。 首先,我们需要理解...

    jquery控制滚动条下拉后DIV容器在页面中的位置

    标题中的“jquery控制滚动条下拉后DIV容器在页面中的位置”是指利用jQuery库来实现一个功能,即在用户滚动网页时,使指定的DIV元素始终保持在屏幕的某个固定位置,这种效果通常被称为“粘性导航”或“固定定位”。...

    jQuery平滑页面滚动切换特效.zip

    4. **easing效果**:在项目中,包含了`jquery.easing.1.3.js`文件,这是jQuery的缓动插件,提供了多种缓动函数,如easeInQuad、easeOutQuart等,使得滚动动画更加自然,不那么生硬。 5. **CSS样式**:`css`目录下的...

    jquery随页面滚动最终固定顶部的导航条插件

    标题中的“jquery随页面滚动最终固定顶部的导航条插件”指的是一个基于jQuery的JavaScript插件,该插件实现了一种交互效果:当用户在网页上滚动时,导航条会从页面底部开始移动,随着页面的向下滚动逐渐靠近顶部,...

Global site tag (gtag.js) - Google Analytics