回到顶部按钮效果不对,另外还有一个问题
$.fn.UiBackTop=function(){//效果没出来,现在的效果是刚进入页面时有按钮,一滚动就消失
var windowHeight=$(window).height(),
ui=$(this),
el=$('<a class="backtop" href="#"></a>');
ui.append(el);
$(window).on("scroll",function(){
var top=$("html,body").scrollTop();
//兼容性的写法
//var top = $("body").scrollTop() || $(document).scrollTop();第二种写法
if(top>windowHeight){
el.show();
}else{
el.hide();
}
});
$(el).on("click",function(){
$(window).scrollTop(0);
});
};.backtop{position: fixed;bottom: 2px;right: 2px;display: block;width: 40px;height: 40px;z-index: 9;color: white;
background-color: #00b3ec;background-position: center center;
background-image: url("../img/icon-go-up.png");background-repeat: no-repeat;}
.backtop:hover{background-image: none;}
.backtop:hover::after{content: '回到顶部';text-align: center;line-height: 20px;display: block;}没有粘贴HTML主页了,老师可以弄个高度5000px的色块测试,效果不对
现在的效果:刚进入页面时有按钮,一滚动就消失
需要的效果:刚进入页面时没有按钮,滚动时超过窗口的高度或设置的高度显示,小于窗口的高度或设置的高度隐藏。显示的时候点击按钮会回到顶部。
另外的问题:现在回到顶部是直接回去,如何改写代码使得回去的时候有个滚动的动画效果,不知现阶段能否实现
14
收起
正在回答
1回答
同学你好,老师帮你写了一个带动画且先隐藏,滚动到一定距离再显示的返回顶部的效果。同学可以根据代码进行改写
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>返回顶部</title>
<script src="http://libs.baidu.com/jquery/1.11.1/jquery.min.js"></script>
<style type="text/css">
.container {
width:1280px;
margin: 0 auto;
height: auto;
min-height: 100%;
position: relative;
}
.content {
height: 2000px;
background: red;
}
.backtop {
position: absolute;
right: -130px;
z-index: 5;
width:60px;
height:60px;
background:blue;
}
</style>
</head>
<body>
<div class="container">
<div class="content">我是主内容,高度是2000px</div>
<div class="backtop">返回顶部</div>
</div>
<script>
$(function() {
//backtop距浏览器顶端的距离,这个距离可以根据你的需求修改
var topDistance = 500;
//距离浏览器顶端多少距离开始显示backtop按钮,为了兼容不同分辨率的浏览器,建议这里设置值为1;
var showDistance = 1;
var thisTop = $(window).scrollTop() + topDistance;
//设置backtop按钮top的css属性和属性值
$('.backtop').css('top', thisTop);
if ($(window).scrollTop() < showDistance) {
$('.backtop').hide();
}
// 给窗口绑定一个滚动事件,当窗口滚动条滚动时执行
$(window).scroll(function() {
thisTop = $(this).scrollTop() + topDistance; //获取当前window向上滚动的距离
$('.backtop').css('top', thisTop); //修改backtop按钮的top距离
console.log(thisTop);
if ($(this).scrollTop() > showDistance) {
$('.backtop').fadeIn();
} else {
$('.backtop').fadeOut();
}
});
// 给按钮绑定一个click事件,点击按钮时,返回顶部
$('.backtop').click(function() {
$('html ,body').animate({ scrollTop: 0 }, 300);
});
});
</script>
</body>
</html>如果我的回答帮助了你,希望采纳,祝学习愉快!
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星