Jquery “回到顶部”
2016-05-18 15:26
465 查看
1.html页面:
<head>
<title></title>
<meta charset="utf-8" />
<script src="scripts/jquery-1.9.1.min.js"></script>
<script src="scripts/gotoTop.js"></script>
<style type="text/css">
.demo {
height: 1400px;
padding-top: 100px;
}
.demo p {
text-align: center;
height: 32px;
line-height: 32px;
font-size: 16px;
}
.demo p span {
margin: 20px;
}
.demo p a.cur {
color: #f60;
font-weight: bold;
}
a.backToTop {
width: 60px;
height: 60px;
background: #eaeaea url(top.gif) no-repeat -51px 0;
text-indent: -999em;
}
a.backToTop:hover {
background-position: -113px 0;
}
</style>
<script type="text/javascript">
$(function () {
$(".backToTop").goToTop();
$(window).bind('scroll resize', function () {
$(".backToTop").goToTop({
pageWidth: 960,
duration: 0
});
});
});
</script>
</head>
<body>
<div class="demo">
<div class="ad_demo">
</div>
</div>
</body>2.gotoTop.js文件:
// JavaScript Document
(function($){
var goToTopTime;
$.fn.goToTop=function(options){
var opts = $.extend({},$.fn.goToTop.def,options);
var $window=$(window);
$body = (window.opera) ? (document.compatMode == "CSS1Compat" ? $('html') : $('body')) : $('html,body'); // opera fix
//$(this).hide();
var $this=$(this);
clearTimeout(goToTopTime);
goToTopTime=setTimeout(function(){
var controlLeft;
if ($window.width() > opts.pageHeightJg * 2 + opts.pageWidth) {
controlLeft = ($window.width() - opts.pageWidth) / 2 + opts.pageWidth + opts.pageWidthJg;
}else{
controlLeft = $window.width()- opts.pageWidthJg-$this.width();
}
var cssfixedsupport=$.support.msie && parseFloat($.browser.version) < 7;//判断是否ie6
var controlTop=$window.height() - $this.height()-opts.pageHeightJg;
controlTop=cssfixedsupport ? $window.scrollTop() + controlTop : controlTop;
var shouldvisible=( $window.scrollTop() >= opts.startline )? true : false;
if (shouldvisible){
$this.stop().show();
}else{
$this.stop().hide();
}
$this.css({
position: cssfixedsupport ? 'absolute' : 'fixed',
top: controlTop,
left: controlLeft
});
},30);
$(this).click(function(event){
$body.stop().animate( { scrollTop: $(opts.targetObg).offset().top}, opts.duration);
$(this).blur();
event.preventDefault();
event.stopPropagation();
});
};
$.fn.goToTop.def={
pageWidth:910,//页面宽度
pageWidthJg:2,//按钮和页面的间隔距离
pageHeightJg:100,//按钮和页面底部的间隔距离
startline:30,//出现回到顶部按钮的滚动条scrollTop距离
duration:500,//回到顶部的速度时间
targetObg:"body"//目标位置
};
})(jQuery);
$(function(){
$('<a href="javascript:;" class="backToTop" title="返回顶部">返回顶部</a>').appendTo("body");
});
<head>
<title></title>
<meta charset="utf-8" />
<script src="scripts/jquery-1.9.1.min.js"></script>
<script src="scripts/gotoTop.js"></script>
<style type="text/css">
.demo {
height: 1400px;
padding-top: 100px;
}
.demo p {
text-align: center;
height: 32px;
line-height: 32px;
font-size: 16px;
}
.demo p span {
margin: 20px;
}
.demo p a.cur {
color: #f60;
font-weight: bold;
}
a.backToTop {
width: 60px;
height: 60px;
background: #eaeaea url(top.gif) no-repeat -51px 0;
text-indent: -999em;
}
a.backToTop:hover {
background-position: -113px 0;
}
</style>
<script type="text/javascript">
$(function () {
$(".backToTop").goToTop();
$(window).bind('scroll resize', function () {
$(".backToTop").goToTop({
pageWidth: 960,
duration: 0
});
});
});
</script>
</head>
<body>
<div class="demo">
<div class="ad_demo">
</div>
</div>
</body>2.gotoTop.js文件:
// JavaScript Document
(function($){
var goToTopTime;
$.fn.goToTop=function(options){
var opts = $.extend({},$.fn.goToTop.def,options);
var $window=$(window);
$body = (window.opera) ? (document.compatMode == "CSS1Compat" ? $('html') : $('body')) : $('html,body'); // opera fix
//$(this).hide();
var $this=$(this);
clearTimeout(goToTopTime);
goToTopTime=setTimeout(function(){
var controlLeft;
if ($window.width() > opts.pageHeightJg * 2 + opts.pageWidth) {
controlLeft = ($window.width() - opts.pageWidth) / 2 + opts.pageWidth + opts.pageWidthJg;
}else{
controlLeft = $window.width()- opts.pageWidthJg-$this.width();
}
var cssfixedsupport=$.support.msie && parseFloat($.browser.version) < 7;//判断是否ie6
var controlTop=$window.height() - $this.height()-opts.pageHeightJg;
controlTop=cssfixedsupport ? $window.scrollTop() + controlTop : controlTop;
var shouldvisible=( $window.scrollTop() >= opts.startline )? true : false;
if (shouldvisible){
$this.stop().show();
}else{
$this.stop().hide();
}
$this.css({
position: cssfixedsupport ? 'absolute' : 'fixed',
top: controlTop,
left: controlLeft
});
},30);
$(this).click(function(event){
$body.stop().animate( { scrollTop: $(opts.targetObg).offset().top}, opts.duration);
$(this).blur();
event.preventDefault();
event.stopPropagation();
});
};
$.fn.goToTop.def={
pageWidth:910,//页面宽度
pageWidthJg:2,//按钮和页面的间隔距离
pageHeightJg:100,//按钮和页面底部的间隔距离
startline:30,//出现回到顶部按钮的滚动条scrollTop距离
duration:500,//回到顶部的速度时间
targetObg:"body"//目标位置
};
})(jQuery);
$(function(){
$('<a href="javascript:;" class="backToTop" title="返回顶部">返回顶部</a>').appendTo("body");
});
相关文章推荐
- jquery 根据样式或者名称获取 对象遍历赋值
- jquery 获取select选中的值
- jQuery 选择器
- jQuery获取高度问题
- jquery中的deferred详解
- 深入理解JQuery中的事件与动画
- jquery使用类似于java的集合
- JQUERY获取当前页面的URL信息
- jQuery cookie操作
- jquery2
- Jquery学习1
- jQuery添加options点击事件并传值实例代码
- JQuery中attr属性和jQuery.data()学习笔记【必看】
- JQuery.validate在ie8下不支持的快速解决方法
- jquery禁用a标签,jquery禁用按钮click点击
- 中文转拼音jquery插件
- 点击一个链接可以在指定的div块中显示(使用jquery实现)
- jquery param 数组 带有 %5B%5D [] 问题
- JQuery解析XML数据的几个简单实例
- Jquery树形插件--应用举例