jquery.scrollTo-min.js

jquery.scrollTo-min.js 用户返回顶部及动画到目的地,支持目标值、锚点。

使用方法:

1.引入jQuery

2.$.scrollTo( this.hash || targetValue, time);

example:$.scrollTo( this.hash || 0, 500);

demo

; (function(d) {
    var k = d.scrollTo = function(a, i, e) {
        d(window).scrollTo(a, i, e)
    };
    k.defaults = {
        axis: 'xy',
        duration: parseFloat(d.fn.jquery) >= 1.3 ? 0 : 1
    };
    k.window = function(a) {
        return d(window)._scrollable()
    };
    d.fn._scrollable = function() {
        return this.map(function() {
            var a = this,
            i = !a.nodeName || d.inArray(a.nodeName.toLowerCase(), ['iframe', '#document', 'html', 'body']) != -1;
            if (!i) return a;
            var e = (a.contentWindow || a).document || a.ownerDocument || a;
            return d.browser.safari || e.compatMode == 'BackCompat' ? e.body: e.documentElement
        })
    };
    d.fn.scrollTo = function(n, j, b) {
        if (typeof j == 'object') {
            b = j;
            j = 0
        }
        if (typeof b == 'function') b = {
            onAfter: b
        };
        if (n == 'max') n = 9e9;
        b = d.extend({},
        k.defaults, b);
        j = j || b.speed || b.duration;
        b.queue = b.queue && b.axis.length > 1;
        if (b.queue) j /= 2;
        b.offset = p(b.offset);
        b.over = p(b.over);
        return this._scrollable().each(function() {
            var q = this,
            r = d(q),
            f = n,
            s,
            g = {},
            u = r.is('html,body');
            switch (typeof f) {
            case 'number':
            case 'string':
                if (/^([+-]=)?\d+(\.\d+)?(px|%)?$/.test(f)) {
                    f = p(f);
                    break
                }
                f = d(f, this);
            case 'object':
                if (f.is || f.style) s = (f = d(f)).offset()
            }
            d.each(b.axis.split(''),
            function(a, i) {
                var e = i == 'x' ? 'Left': 'Top',
                h = e.toLowerCase(),
                c = 'scroll' + e,
                l = q[c],
                m = k.max(q, i);
                if (s) {
                    g[c] = s[h] + (u ? 0 : l - r.offset()[h]);
                    if (b.margin) {
                        g[c] -= parseInt(f.css('margin' + e)) || 0;
                        g[c] -= parseInt(f.css('border' + e + 'Width')) || 0
                    }
                    g[c] += b.offset[h] || 0;
                    if (b.over[h]) g[c] += f[i == 'x' ? 'width': 'height']() * b.over[h]
                } else {
                    var o = f[h];
                    g[c] = o.slice && o.slice( - 1) == '%' ? parseFloat(o) / 100 * m: o
                }
                if (/^\d+$/.test(g[c])) g[c] = g[c] <= 0 ? 0 : Math.min(g[c], m);
                if (!a && b.queue) {
                    if (l != g[c]) t(b.onAfterFirst);
                    delete g[c]
                }
            });
            t(b.onAfter);
            function t(a) {
                r.animate(g, j, b.easing, a &&
                function() {
                    a.call(this, n, b)
                })
            }
        }).end()
    };
    k.max = function(a, i) {
        var e = i == 'x' ? 'Width': 'Height',
        h = 'scroll' + e;
        if (!d(a).is('html,body')) return a[h] - d(a)[e.toLowerCase()]();
        var c = 'client' + e,
        l = a.ownerDocument.documentElement,
        m = a.ownerDocument.body;
        return Math.max(l[h], m[h]) - Math.min(l[c], m[c])
    };
    function p(a) {
        return typeof a == 'object' ? a: {
            top: a,
            left: a
        }
    }
})(jQuery);

jquery.scrollTo-min.js,布布扣,bubuko.com

时间: 2024-08-24 15:46:57

jquery.scrollTo-min.js的相关文章

多语言切换jquery.i18n.min.js

项目需求,切换多语言,采用 jQuery.i18n.min.js文件内容如下 ------------------------------------------------- /*! * jquery i18n Plugin v1.0.0 * https://github.com/ZOMAKE/jquery.i18n * * Copyright 2017 ZOMAKE,Inc. * Released under the Apache Licence 2.0 */ (function($) { 

jquery.form.min.js插件的使用实例

因为项目中需要达到效果:前台点击按钮弹出文件选择框,选择文件确定之后,上传到后台对文件进行处理并给出响应信息. 尝试过使用$.post,$.ajsx,将表单序列化之后传到后台,但是后台并不能收到文件,查找资料后得知: .serialize()序列化表单,提交按钮的值不会被序列化.另外,如果想要一个表单元素的值被序列化成字符串,这个元素必须含有 name 属性.此外,复选框(checkbox)和单选按钮(radio)(input类型为 "radio" 或 "checkbox&q

为网页生成二维码(jquery.qrcode.min.js)

做网站活动页面的时候,要为每个活动生成一个二维码,虽然简单,但还是习惯记录下来. jquery.qrcode.min.js是js的一个库,主流的浏览器都支持:IE6~10, Chrome, Firefox, Safari, Opera, Mobile Safari, Android, Windows Mobile方法: qrcode(),参数: text:要编码的字符串地址 width:定义的宽度 height:定义的高度 background:背景色 foreground:前景色 <!doct

图片延迟插件 Jquery.lazyload.min.js

当一个页面打开的图片太多,我们可以用jquery的一个延迟加载插件.名为:jquery.lazyload.min.js 使用非常简单,下面我就把示例代码帖出来. 1 <div style="height:700px;"> 2 <img src="img/grey.gif" data-original="http://www.ziyou.com.cn/ziyou/uploadImg/bberfq.jpg" width="

JSON对象配合jquery.tmpl.min.js插件,手动攒出一个table

jquery.tmpl.min.js 首先下载这个插件 1.绑定json那头的键 //TemplateDDMX 这个是这段JS的ID,这个必须写!!!!!! //${}为json的键的值,必须要填写正确,和<%#Eval()%>这个作用一样<script id="TemplateDDMX" type="text/x-jquery-tmpl"> <tr> <td style='font-size:16px;display:no

调用jquery.Jcrop.min.js 切割图片 实例

需求是:上传一个图片,然后将上传的这个图片进行切割........ 首先是jsp页面.页面需要引入js  <script src="${fileUrlPrx}/scripts/wap/jquery.min.js"></script>  <script src="${fileUrlPrx}/scripts/wap/jquery.Jcrop.min.js"></script> 注意几个隐藏域,这些是选中区域的点坐标,与长宽

Uncaught TypeError: Cannot read property &#39;call&#39; of undefined jquery.validate.min.js:28

最近在做表单校验的时候,自己写的addMethod 方法老是不起作用,折腾了接近一天的时间.报的错误如下 Uncaught TypeError: Cannot read property 'call' of undefinedjquery.validate.min.js:28 先来看一下 我自己页面的布局. top.jsp 上面的截图为top.jsp的头部引用的表单校验jquery-1.6.js和jquery.validate.min.js 我来看我自己需要校验的那个页面的jsp布局(stepT

jquery.imgpreload.min.js插件实现页面图片预加载

页面分享地址: http://wenku.baidu.com/link?url=_-G8miwbgDmEj6miyFtjit1duJggBCJmFjR2jky_G1VftD9eS9kwGOlFWAORk2_fotM4RbzRvtcaiQu2y_BU3Gpj0rYRy_EWrgXEuFeja0q 页面分享地址:http://www.jb51.net/article/21987.htm Javascript , Jquery 实现页面图片预加载百分比展现 如果需要在页面初始加载时显示加载进度.主要是

jquery.qrcode.min.js(支持中文转化二维码)

详情请看: http://www.ncloud.hk/%E6%8A%80%E6%9C%AF%E5%88%86%E4%BA%AB/jqueryqrcodeminjs/ 今天还是要讲一下关于二维码的知识,前几篇讲解中有讲到我使用的可以生成二维码的js是qrcode.js,然后结合Cordovad的插件$cordovaBarcodeScanner插件可以扫描二维码,这样就基本完成了简单的扫一扫功能.后来在项目进行,开始要调用后台数据和传参数到接口的时候发现qrcode.js它只能解析英文或者数字,并且

前端生成二维码插件jquery.qrcode.min.js

1.插件介绍 jquery.qrcode.min.js插件是jq系列的基于jq,在引入该插件之前要先引入jq.能够在客户端生成矩阵二维码QRCode 的jquery插件 ,使用它可以很方便的在页面上生成二维条码. 闲话少说,看demo吧!(haha...) 2.快速使用demo 简单介绍:这是一款快速应用案例,没有太特殊的需求的话够用了.鉴于需求,本例是把二维码生成了图片,可以保存到手机,然后发送给好友,直接识别二维码. 1 <!DOCTYPE html> 2 <html> 3 &