回到顶部按钮效果不对,另外还有一个问题
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | $.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); }); }; |
1 2 3 4 5 | .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回答
同学你好,老师帮你写了一个带动画且先隐藏,滚动到一定距离再显示的返回顶部的效果。同学可以根据代码进行改写
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 | <!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积分~
来为老师/同学的回答评分吧