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

用法:

1.引入jQuery

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

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

demo

jquery.scrollTo-min.js

; (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的更多相关文章

  1. jquery.qrcode.min.js生成二维码 通过前端实现二维码生成

    主体代码: <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <tit ...

  2. jquery.validate.min.js 用法方法示例

    页面html 代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://w ...

  3. ZeroClipboard / jquery.zclip.min.js跨浏览器复制插件使用中遇到的问题解决

    之前写过一个淘宝优惠券连接PC端转手机端连接的小工具,当时写到将转换好的url复制到剪切板这块时解决了IE和火狐,就是没办法搞定Chrome,知道可以通过flash搞定,但是觉得太麻烦没有仔细研究. ...

  4. 通过jquery.transit.min.js插件,实现图片的移动

    首先给出插件:jquery.transit.min.js (function(t,e){if(typeof define==="function"&&define. ...

  5. Bootstrap导航点击菜单跳转与点击缩放菜单折叠按钮缓冲效果插件jquery.singlePageNav.min.js

    引入步骤: <script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></scrip ...

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

    jquery.tmpl.min.js 首先下载这个插件 1.绑定json那头的键 //TemplateDDMX 这个是这段JS的ID,这个必须写!!!!!! //${}为json的键的值,必须要填写正 ...

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

    最近在做表单验证时,,自己写的addMethod 方法总是不起作用.折腾了将近一天. 报告的错误,如下面的 Uncaught TypeError: Cannot read property 'call ...

  8. web下c#用jquery.tmpl.min.js插件实现分页查询_yginuo

    背景:webform或者mvc下实现插件快速分页 ps:我这里用的mvc开发的,数据库连接.用的ADO.NET实体数据模型 此案例下载地址(内含需要用到的一个插件与数据库):http://downlo ...

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

    做网站活动页面的时候,要为每个活动生成一个二维码,虽然简单,但还是习惯记录下来. jquery.qrcode.min.js是js的一个库,主流的浏览器都支持:IE6~10, Chrome, Firef ...

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

    详情请看:http://www.ncloud.hk/%E6%8A%80%E6%9C%AF%E5%88%86%E4%BA%AB/jqueryqrcodeminjs/ 今天还是要讲一下关于二维码的知识,前 ...

随机推荐

  1. 『重构--改善既有代码的设计』读书笔记----Inline Class

    如果某个类没有做太多的事情,你可以将这个类的所有特性搬移到另外一个类中,然后删除原类.可以看到,Inline Class正好和Extract Class相反,后者是将一个巨类分解成多个小类从而来分担责 ...

  2. js控制 点一下增加一个输入框,点一下增加一个输入框……

    <div> <div> 附件1:<input type="file" id="file1" name="file1&qu ...

  3. windows server 2012 iis8.0部署mvc报错

    一开始以为需要在服务器装mvc在很多论坛找过也问了朋友都说需要装mvc,经过两天研究是不需要装mvc的只需要在项目的bin文件夹下放入下面三个dll. 未能加载文件或程序集“System.Web.Ht ...

  4. 如何使用ASP.NET Web API OData在Oracle中使用Entity Framework 6.x Code-First方式开发 OData V4 Service

    环境: Visual Studio 2013 + .Net Framework 4.5.2 1.新建项目 2.安装OData,ODP.NET 安装的包: 下面是部分代码: using System; ...

  5. bzoj1855: [Scoi2010]股票交易

    Description 最近lxhgww又迷上了投资股票,通过一段时间的观察和学习,他总结出了股票行情的一些规律. 通过一段时间的观察,lxhgww预测到了未来T天内某只股票的走势,第i天的股票买入价 ...

  6. Cordova VS React Native 谁是未来? - b

    对于原生native还是倍加推崇的,极佳的用户体验和性能让我学的如痴如醉,可是互联网这个世界可以用一句话可以总结:没有什么是不可能的.自从阿里淘宝天猫横空出世,它们教会了人们如何在网上购物,然后仿佛一 ...

  7. ps的使用方法

    1.打开原图素材,Ctrl + J把背景图层复制一层,按Ctrl + Shift + U去色,执行:滤镜 > 模糊 > 高斯模糊,数值4,图层混合模式为滤色,图层不透明度改为27%. 2. ...

  8. 使用Flexible 实现手淘H5 页面的终端适配学习

    Amfe阿里无线前端团队双11技术连载之际,一个实战案例来展示多终端适配. Device metrics 1.0 mdpi 2.0 xhdpi 3.0xxhdpi(iphone 6 plus) 手淘h ...

  9. City Game

    hdu1505:http://acm.hdu.edu.cn/showproblem.php?pid=1505 题解:给你一个字符矩阵,里面有R和F两种字符,然后让你找一个最大的子矩阵,这个最大的子矩阵 ...

  10. ubuntu 查本机 ip地址的命令是什么, 详细信息的?

    使用ifconfig命令即可.你一敲进去都出来了