方法一:

直接用html实现,没有缓冲的效果,直接彪到顶部。

  1. HTMl:
  2.  
  3. <a id="return-top" href="#top">
  4. <span class="pointer"></span>
  5. <p class="black-circle">TOP</p>
  6. </a>
  7.  
  8. CSS:
  9.  
  10. #return-top{
  11. width:51px;
  12. height:51px;
  13. position:fixed;
  14. right:0;
  15. bottom:0;
  16. z-index: 100;
  17. border-radius: 51px;
  18. background: #424243;
  19.  
  20. }
  21. .pointer{
  22. display: inline-block;
  23. background: url(../img/icon_backtotop.png) no-repeat top center;
  24. width:21px;
  25. height:13px;
  26. position: relative;
  27. top:16px;
  28. left:15px;
  29. }
  30. .black-circle{
  31.  
  32. color:#fff;
  33. text-align: center;
  34. width:51px;
  35. font-size: 12px;
  36. height:12px;
  37. margin-top:15px;
  38. }
  39. #return-top:hover .pointer{
  40. top:10px;
  41. }

方法二:在方法一的基础之上加缓冲效果,即添加js实现

js代码如下:

  1. /**
  2. * 作者:我是UED ,http://www.iamued.com/qianduan/816.html
  3. * 回到页面顶部
  4. * @param acceleration 加速度
  5. * @param time 时间间隔 (毫秒)
  6. **/
  7. function goTop(acceleration, time) {
  8. acceleration = acceleration || 0.1;
  9. time = time || 16;
  10.  
  11. var x1 = 0;
  12. var y1 = 0;
  13. var x2 = 0;
  14. var y2 = 0;
  15. var x3 = 0;
  16. var y3 = 0;
  17.  
  18. if (document.documentElement) {
  19. x1 = document.documentElement.scrollLeft || 0;
  20. y1 = document.documentElement.scrollTop || 0;
  21. }
  22. if (document.body) {
  23. x2 = document.body.scrollLeft || 0;
  24. y2 = document.body.scrollTop || 0;
  25. }
  26. var x3 = window.scrollX || 0;
  27. var y3 = window.scrollY || 0;
  28.  
  29. // 滚动条到页面顶部的水平距离
  30. var x = Math.max(x1, Math.max(x2, x3));
  31. // 滚动条到页面顶部的垂直距离
  32. var y = Math.max(y1, Math.max(y2, y3));
  33.  
  34. // 滚动距离 = 目前距离 / 速度, 因为距离原来越小, 速度是大于 1 的数, 所以滚动距离会越来越小
  35. var speed = 1 + acceleration;
  36. window.scrollTo(Math.floor(x / speed), Math.floor(y / speed));
  37.  
  38. // 如果距离不为零, 继续调用迭代本函数
  39. if(x > 0 || y > 0) {
  40. var invokeFunction = goTop( +acceleration+ , +time+ );
  41. window.setTimeout(invokeFunction, time);
  42. }
  43. }

demo测试地址

方法三:‘TOP’默认是隐藏的,只要滚动条,滚动到一定高度时就显示,否则就隐藏。
这样我可能想从中间某处回到页面的顶部成为可能。

The HTML :

<a href=#top id=gototop >Top of Page</a>

The CSS :

#gototop { display:none; position:fixed; right:5px; bottom:5px; color:green; font-weight:bold; text-decoration:none; border:1px solid green; background:Lightgreen; padding:10px; } #gototop { text-decoration:underline; }

The MooTools JavaScript : 注意: 我们需要MooTools Core 库的同时,也需要MooTools More 库中的 Fx.Scroll.js 和 Fx.SmoothScroll.js 两大文件。

  1. window.addEvent('domready',function() {
  2. new SmoothScroll({duration:700});
  3. /* go to top */
  4. var go = $('gototop');
  5. go.set('opacity','0').setStyle('display','block');
  6. window.addEvent('scroll',function(e) {
  7. if(Browser.Engine.trident4) {
  8. go.setStyles({
  9. 'position': 'absolute',
  10. 'bottom': window.getPosition().y + 10,
  11. 'width': 100
  12. });
  13. }
  14. go.fade((window.getScroll().y > 300) ? 'in' : 'out')
  15. });
  16. });

demo测试地址

方法3:还有一个例子是动态生成‘TOP’。

The MooTools JavaScript :

  1. /**
  2. * back-to-top: unobtrusive global 'back to top' link using mootools 1.2.x
  3. * This work is licensed under a Creative Commons Attribution-Share Alike 3.0 License.
  4. * http://creativecommons.org/licenses/by-sa/3.0/
  5. */
  6.  
  7. // hide the effect from IE6, better not having it at all than being choppy.
  8. if (!Browser.Engine.trident4) {
  9. // element added onload for IE to avoid the operation aborted bug. not yet verified for IE8 as it's still on beta as of this modification.
  10. window.addEvent((Browser.Engine.trident ? 'load' : 'domready'), function(){
  11. var target_opacity = 0.64;
  12. new Element('span', {
  13. 'id': 'back-to-top',
  14. 'styles': {
  15. opacity: target_opacity,
  16. display: 'none',
  17. position: 'fixed',
  18. bottom: 0,
  19. right: 0,
  20. cursor: 'pointer'
  21. },
  22. 'text': 'back to top',
  23. 'tween': {
  24. duration: 200,
  25. onComplete: function(el) { if (el.get('opacity') == 0) el.setStyle('display', 'none')}
  26. },
  27. 'events': {'click': function() {
  28. /*location是javascript里边管理地址栏的内置对象,比如location.href就管理页面的url,用 location.href=url就可以直接将页面重定向url。而location.hash则可以用来获取或设置页面的标签值。比如 http://ued.alimama.com#admin的location.hash=#admin,利用这个属性值可以实现很多效果。*/
  29. if (window.location.hash) { window.location.hash = '#top'; }
  30. else { window.scrollTo(0, 0);/*把窗口内容滚动到指定的坐标。*/ }
  31. }}
  32. }).inject(document.body);
  33.  
  34. window.addEvent('scroll', function() {
  35. var visible = window.getScroll().y > (window.getSize().y * 0.8);
  36. if (visible == arguments.callee.prototype.last_state) return;
  37.  
  38. // fade if supported
  39. if (Fx && Fx.Tween) {
  40. if (visible) $('back-to-top').fade('hide').setStyle('display', 'inline').fade(target_opacity);
  41. else $('back-to-top').fade('out');
  42. } else {
  43. $('back-to-top').setStyle('display', (visible ? 'inline' : 'none'));
  44. }
  45.  
  46. arguments.callee.prototype.last_state = visible
  47. });
  48. });
  49. }

The jQuery JavaScript :
需要jQuery’s ScrollTo plugin 插件添加一些平滑的锚。

  1. //plugin
  2. jQuery.fn.topLink = function(settings) {
  3. settings = jQuery.extend({
  4. min: 1,
  5. fadeSpeed: 200
  6. }, settings);
  7. return this.each(function() {
  8. //listen for scroll
  9. var el = $(this);
  10. el.hide(); //in case the user forgot
  11. $(window).scroll(function() {
  12. if($(window).scrollTop() >= settings.min)
  13. {
  14. el.fadeIn(settings.fadeSpeed);
  15. }
  16. else
  17. {
  18. el.fadeOut(settings.fadeSpeed);
  19. }
  20. });
  21. });
  22. };
  23.  
  24. //usage w/ smoothscroll
  25. $(document).ready(function() {
  26. //set the link
  27. $('#gototop').topLink({
  28. min: 400,
  29. fadeSpeed: 500
  30. });
  31. //smoothscroll
  32. $('#gototop').click(function(e) {
  33. e.preventDefault();
  34. $.scrollTo(0,300);
  35. });
  36. });

demo测试地址

以上代码针对ie7不使用,针对ie7代码如下:

  1. //plugin
  2. jQuery.fn.topLink = function(settings) {
  3. settings = jQuery.extend({
  4. min: 1, fadeSpeed: 200,
  5. ieOffset: 50
  6. }, settings);
  7. return this.each(function() {
  8. //listen for scroll
  9. var el = $(this);
  10. el.css('display','none'); //in case the user forgot
  11. $(window).scroll(function() {
  12. //stupid IE hack
  13. if(!jQuery.support.hrefNormalized) {
  14. el.css({
  15. 'position': 'absolute',
  16. 'top': $(window).scrollTop() + $(window).height() - settings.ieOffset
  17. });
  18. }
  19. if($(window).scrollTop() >= settings.min)
  20. {
  21. el.fadeIn(settings.fadeSpeed);
  22. }
  23. else
  24. {
  25. el.fadeOut(settings.fadeSpeed);
  26. }
  27. });
  28. });
  29. };
  30.  
  31. $(document).ready(function() {
  32. $('#gototop').topLink({
  33. min: 400,
  34. fadeSpeed: 500
  35. });
  36. //smoothscroll
  37. $('#gototop').click(function(e) {
  38. e.preventDefault();
  39. $.scrollTo(0,300);
  40. });
  41. });

文章转载地址为:http://www.missyuan.com/viewthread.php?tid=450821

关于top按钮的网页设置的更多相关文章

  1. JavaScript自动生成博文目录导航/TOP按钮

    博客园页面添加返回顶部TOP按钮 进入网页管理->设置 在"页面定制CSS代码"中添加如下css样式,当然你可以改为自己喜欢的样式 此处可以将背景色background-co ...

  2. TOP按钮

    TOP按钮 博客园页面添加返回顶部TOP按钮 进入网页管理->设置 在"页面定制CSS代码"中添加如下css样式,当然你可以改为自己喜欢的样式 此处可以将背景色backgro ...

  3. jQuery制作go to top按钮

    转自:http://www.w3cplus.com/jquery/scrolling-to-the-top-with-jquery 每每看到网友Blog的页面底部或中间有一个按钮回到页面顶部,羡慕死人 ...

  4. MFC 使用位图按钮,并且设置按钮的鼠标悬停效果

    系统环境:Windows 10软件环境:Visual C++ 2013 SP1本次目的:使用位图按钮,并且设置按钮的鼠标悬停效果 在用MFC开发时,界面是比较不好开发的一块.VC中自带了CBitmap ...

  5. 将网页设置为允许 XMLHttpRequest 跨域访问

    在非IE下,使用XMLHttpRequest 不能跨域访问, 除非要访问的网页设置为允许跨域访问. 将网页设置为允许跨域访问的方法如下: Java Response.AddHeader("A ...

  6. ios开发之--textview意见反馈页面(占位label,字数统计,提交按钮的交互设置)

    记录一个页面的功能: textview的占位符,字数统计,提交按钮的交互设置,具体效果图如下:

  7. Qt中使用setStyleSheet对QPushButton按钮进行外观设置

    Qt中使用setStyleSheet对按钮进行外观设置 字体颜色的设置一般时以下两种方案: (1)属于QWidget子类的一些控件 可以直接使用样式表,例如label->setStyleShee ...

  8. js实现用按钮控制网页滚动、以及固定导航栏效果

    实现效果如下: 页面内有三个按钮,分别控制页面向上.向下移动,以及暂停,并设置有导航栏,在滚动到某一位置时显示.且当用户主动控制鼠标滑轮时,滚动效果自动关闭.本页面只是演示如何实现,进行了简单的布局, ...

  9. winfrom_动态添加按钮button(设置颜色,大小,按钮字体大小、颜色,位置,事件)

    List<string> strColor = new List<string>(); strColor.Add("#e67817"); strColor. ...

随机推荐

  1. rngd.service 启动失败的处理

    [root@localhost ~]# systemctl --failed UNIT LOAD ACTIVE SUB DESCRIPTION ● mdmonitor.service loaded f ...

  2. CodeForces 786B Legacy(线段树优化建图+最短路)

    [题目链接] http://codeforces.com/problemset/problem/786/B [题目大意] 给出一些星球,现在有一些传送枪,可以从一个星球到另一个星球, 从一个星球到另一 ...

  3. [BZOJ1513]Tet-Tetris 3D

    get了新的标记永久化技能- 这题要求询问max和覆盖,因为是线段树套线段树,所以内外都不可以标记下传 这种标记永久化的套路是维护两个标记:$mx,all$,$mx$表示这个子树内的真最大值,$all ...

  4. 【矩阵乘法】图中长度为k的路径的计数

    样例输入 4 2 0 1 1 0 0 0 1 0 0 0 0 1 1 0 0 0 样例输出 6 #include<cstdio> #include<vector> using ...

  5. 1.2(Spring学习笔记)Spring中的Bean

    一.<Bean>的属性及子元素 在1.1中我们对<Bean>有了初步的认识,了解了一些基本用法. 现在我们进一步理解<Bean>属性及子元素. 我们先来看下< ...

  6. 通读《STL源码剖析》之后的一点读书笔记

    直接逼入正题. Standard Template Library简称STL.STL可分为容器(containers).迭代器(iterators).空间配置器(allocator).配接器(adap ...

  7. 130804组队练习赛ZOJ校赛

    A.Ribbon Gymnastics 题目要求四个点作圆,且圆与圆之间不能相交的半径之和的最大值.我当时想法很简单,只要两圆相切,它们的半径之和一定最大,但是要保证不能相交的话就只能取两两个点间距离 ...

  8. 【JVM】调优笔记2-----JVM在JDK1.8以后的新特性以及VisualVM的安装使用

    一.JVM在新版本的改进更新以及相关知识 1.JVM在新版本的改进更新 图中可以看到运行时常量池是放在方法区的 1.1对比: JDK 1.7 及以往的 JDK 版本中,Java 类信息.常量池.静态变 ...

  9. SQL 日期格式化函数

    Sql Server 中一个非常强大的日期格式化函数: 获得当前系统时间,GETDATE(): 2008年01月08日 星期二 14:59 Select CONVERT(varchar(100), G ...

  10. nagios监控redis

    nagios是非常强大的监控工具,但是它本身没有监控redis的功能 但是网上有很多大神写了监控redis的插件,比较热门的使用perl写的check_redis.pl 但是由于我们监控mongodb ...