关于top按钮的网页设置
方法一:
直接用html实现,没有缓冲的效果,直接彪到顶部。
- HTMl:
- <a id="return-top" href="#top">
- <span class="pointer"></span>
- <p class="black-circle">TOP</p>
- </a>
- CSS:
- #return-top{
- width:51px;
- height:51px;
- position:fixed;
- right:0;
- bottom:0;
- z-index: 100;
- border-radius: 51px;
- background: #424243;
- }
- .pointer{
- display: inline-block;
- background: url(../img/icon_backtotop.png) no-repeat top center;
- width:21px;
- height:13px;
- position: relative;
- top:16px;
- left:15px;
- }
- .black-circle{
- color:#fff;
- text-align: center;
- width:51px;
- font-size: 12px;
- height:12px;
- margin-top:15px;
- }
- #return-top:hover .pointer{
- top:10px;
- }
方法二:在方法一的基础之上加缓冲效果,即添加js实现
js代码如下:
- /**
- * 作者:我是UED ,http://www.iamued.com/qianduan/816.html
- * 回到页面顶部
- * @param acceleration 加速度
- * @param time 时间间隔 (毫秒)
- **/
- function goTop(acceleration, time) {
- acceleration = acceleration || 0.1;
- time = time || 16;
- var x1 = 0;
- var y1 = 0;
- var x2 = 0;
- var y2 = 0;
- var x3 = 0;
- var y3 = 0;
- if (document.documentElement) {
- x1 = document.documentElement.scrollLeft || 0;
- y1 = document.documentElement.scrollTop || 0;
- }
- if (document.body) {
- x2 = document.body.scrollLeft || 0;
- y2 = document.body.scrollTop || 0;
- }
- var x3 = window.scrollX || 0;
- var y3 = window.scrollY || 0;
- // 滚动条到页面顶部的水平距离
- var x = Math.max(x1, Math.max(x2, x3));
- // 滚动条到页面顶部的垂直距离
- var y = Math.max(y1, Math.max(y2, y3));
- // 滚动距离 = 目前距离 / 速度, 因为距离原来越小, 速度是大于 1 的数, 所以滚动距离会越来越小
- var speed = 1 + acceleration;
- window.scrollTo(Math.floor(x / speed), Math.floor(y / speed));
- // 如果距离不为零, 继续调用迭代本函数
- if(x > 0 || y > 0) {
- var invokeFunction = goTop( +acceleration+ , +time+ );
- window.setTimeout(invokeFunction, time);
- }
- }
方法三:‘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 两大文件。
- window.addEvent('domready',function() {
- new SmoothScroll({duration:700});
- /* go to top */
- var go = $('gototop');
- go.set('opacity','0').setStyle('display','block');
- window.addEvent('scroll',function(e) {
- if(Browser.Engine.trident4) {
- go.setStyles({
- 'position': 'absolute',
- 'bottom': window.getPosition().y + 10,
- 'width': 100
- });
- }
- go.fade((window.getScroll().y > 300) ? 'in' : 'out')
- });
- });
方法3:还有一个例子是动态生成‘TOP’。
The MooTools JavaScript :
- /**
- * back-to-top: unobtrusive global 'back to top' link using mootools 1.2.x
- * This work is licensed under a Creative Commons Attribution-Share Alike 3.0 License.
- * http://creativecommons.org/licenses/by-sa/3.0/
- */
- // hide the effect from IE6, better not having it at all than being choppy.
- if (!Browser.Engine.trident4) {
- // 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.
- window.addEvent((Browser.Engine.trident ? 'load' : 'domready'), function(){
- var target_opacity = 0.64;
- new Element('span', {
- 'id': 'back-to-top',
- 'styles': {
- opacity: target_opacity,
- display: 'none',
- position: 'fixed',
- bottom: 0,
- right: 0,
- cursor: 'pointer'
- },
- 'text': 'back to top',
- 'tween': {
- duration: 200,
- onComplete: function(el) { if (el.get('opacity') == 0) el.setStyle('display', 'none')}
- },
- 'events': {'click': function() {
- /*location是javascript里边管理地址栏的内置对象,比如location.href就管理页面的url,用 location.href=url就可以直接将页面重定向url。而location.hash则可以用来获取或设置页面的标签值。比如 http://ued.alimama.com#admin的location.hash=#admin,利用这个属性值可以实现很多效果。*/
- if (window.location.hash) { window.location.hash = '#top'; }
- else { window.scrollTo(0, 0);/*把窗口内容滚动到指定的坐标。*/ }
- }}
- }).inject(document.body);
- window.addEvent('scroll', function() {
- var visible = window.getScroll().y > (window.getSize().y * 0.8);
- if (visible == arguments.callee.prototype.last_state) return;
- // fade if supported
- if (Fx && Fx.Tween) {
- if (visible) $('back-to-top').fade('hide').setStyle('display', 'inline').fade(target_opacity);
- else $('back-to-top').fade('out');
- } else {
- $('back-to-top').setStyle('display', (visible ? 'inline' : 'none'));
- }
- arguments.callee.prototype.last_state = visible
- });
- });
- }
The jQuery JavaScript :
需要jQuery’s ScrollTo plugin 插件添加一些平滑的锚。
- //plugin
- jQuery.fn.topLink = function(settings) {
- settings = jQuery.extend({
- min: 1,
- fadeSpeed: 200
- }, settings);
- return this.each(function() {
- //listen for scroll
- var el = $(this);
- el.hide(); //in case the user forgot
- $(window).scroll(function() {
- if($(window).scrollTop() >= settings.min)
- {
- el.fadeIn(settings.fadeSpeed);
- }
- else
- {
- el.fadeOut(settings.fadeSpeed);
- }
- });
- });
- };
- //usage w/ smoothscroll
- $(document).ready(function() {
- //set the link
- $('#gototop').topLink({
- min: 400,
- fadeSpeed: 500
- });
- //smoothscroll
- $('#gototop').click(function(e) {
- e.preventDefault();
- $.scrollTo(0,300);
- });
- });
以上代码针对ie7不使用,针对ie7代码如下:
- //plugin
- jQuery.fn.topLink = function(settings) {
- settings = jQuery.extend({
- min: 1, fadeSpeed: 200,
- ieOffset: 50
- }, settings);
- return this.each(function() {
- //listen for scroll
- var el = $(this);
- el.css('display','none'); //in case the user forgot
- $(window).scroll(function() {
- //stupid IE hack
- if(!jQuery.support.hrefNormalized) {
- el.css({
- 'position': 'absolute',
- 'top': $(window).scrollTop() + $(window).height() - settings.ieOffset
- });
- }
- if($(window).scrollTop() >= settings.min)
- {
- el.fadeIn(settings.fadeSpeed);
- }
- else
- {
- el.fadeOut(settings.fadeSpeed);
- }
- });
- });
- };
- $(document).ready(function() {
- $('#gototop').topLink({
- min: 400,
- fadeSpeed: 500
- });
- //smoothscroll
- $('#gototop').click(function(e) {
- e.preventDefault();
- $.scrollTo(0,300);
- });
- });
文章转载地址为:http://www.missyuan.com/viewthread.php?tid=450821
关于top按钮的网页设置的更多相关文章
- JavaScript自动生成博文目录导航/TOP按钮
博客园页面添加返回顶部TOP按钮 进入网页管理->设置 在"页面定制CSS代码"中添加如下css样式,当然你可以改为自己喜欢的样式 此处可以将背景色background-co ...
- TOP按钮
TOP按钮 博客园页面添加返回顶部TOP按钮 进入网页管理->设置 在"页面定制CSS代码"中添加如下css样式,当然你可以改为自己喜欢的样式 此处可以将背景色backgro ...
- jQuery制作go to top按钮
转自:http://www.w3cplus.com/jquery/scrolling-to-the-top-with-jquery 每每看到网友Blog的页面底部或中间有一个按钮回到页面顶部,羡慕死人 ...
- MFC 使用位图按钮,并且设置按钮的鼠标悬停效果
系统环境:Windows 10软件环境:Visual C++ 2013 SP1本次目的:使用位图按钮,并且设置按钮的鼠标悬停效果 在用MFC开发时,界面是比较不好开发的一块.VC中自带了CBitmap ...
- 将网页设置为允许 XMLHttpRequest 跨域访问
在非IE下,使用XMLHttpRequest 不能跨域访问, 除非要访问的网页设置为允许跨域访问. 将网页设置为允许跨域访问的方法如下: Java Response.AddHeader("A ...
- ios开发之--textview意见反馈页面(占位label,字数统计,提交按钮的交互设置)
记录一个页面的功能: textview的占位符,字数统计,提交按钮的交互设置,具体效果图如下:
- Qt中使用setStyleSheet对QPushButton按钮进行外观设置
Qt中使用setStyleSheet对按钮进行外观设置 字体颜色的设置一般时以下两种方案: (1)属于QWidget子类的一些控件 可以直接使用样式表,例如label->setStyleShee ...
- js实现用按钮控制网页滚动、以及固定导航栏效果
实现效果如下: 页面内有三个按钮,分别控制页面向上.向下移动,以及暂停,并设置有导航栏,在滚动到某一位置时显示.且当用户主动控制鼠标滑轮时,滚动效果自动关闭.本页面只是演示如何实现,进行了简单的布局, ...
- winfrom_动态添加按钮button(设置颜色,大小,按钮字体大小、颜色,位置,事件)
List<string> strColor = new List<string>(); strColor.Add("#e67817"); strColor. ...
随机推荐
- rngd.service 启动失败的处理
[root@localhost ~]# systemctl --failed UNIT LOAD ACTIVE SUB DESCRIPTION ● mdmonitor.service loaded f ...
- CodeForces 786B Legacy(线段树优化建图+最短路)
[题目链接] http://codeforces.com/problemset/problem/786/B [题目大意] 给出一些星球,现在有一些传送枪,可以从一个星球到另一个星球, 从一个星球到另一 ...
- [BZOJ1513]Tet-Tetris 3D
get了新的标记永久化技能- 这题要求询问max和覆盖,因为是线段树套线段树,所以内外都不可以标记下传 这种标记永久化的套路是维护两个标记:$mx,all$,$mx$表示这个子树内的真最大值,$all ...
- 【矩阵乘法】图中长度为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 ...
- 1.2(Spring学习笔记)Spring中的Bean
一.<Bean>的属性及子元素 在1.1中我们对<Bean>有了初步的认识,了解了一些基本用法. 现在我们进一步理解<Bean>属性及子元素. 我们先来看下< ...
- 通读《STL源码剖析》之后的一点读书笔记
直接逼入正题. Standard Template Library简称STL.STL可分为容器(containers).迭代器(iterators).空间配置器(allocator).配接器(adap ...
- 130804组队练习赛ZOJ校赛
A.Ribbon Gymnastics 题目要求四个点作圆,且圆与圆之间不能相交的半径之和的最大值.我当时想法很简单,只要两圆相切,它们的半径之和一定最大,但是要保证不能相交的话就只能取两两个点间距离 ...
- 【JVM】调优笔记2-----JVM在JDK1.8以后的新特性以及VisualVM的安装使用
一.JVM在新版本的改进更新以及相关知识 1.JVM在新版本的改进更新 图中可以看到运行时常量池是放在方法区的 1.1对比: JDK 1.7 及以往的 JDK 版本中,Java 类信息.常量池.静态变 ...
- SQL 日期格式化函数
Sql Server 中一个非常强大的日期格式化函数: 获得当前系统时间,GETDATE(): 2008年01月08日 星期二 14:59 Select CONVERT(varchar(100), G ...
- nagios监控redis
nagios是非常强大的监控工具,但是它本身没有监控redis的功能 但是网上有很多大神写了监控redis的插件,比较热门的使用perl写的check_redis.pl 但是由于我们监控mongodb ...