网页教程:页面返回顶部锚点按钮的设计

2016-02-20 01:06 23 1 收藏

每个人都希望每天都是开心的,不要因为一些琐事扰乱了心情还,闲暇的时间怎么打发,关注图老师可以让你学习更多的好东西,下面为大家推荐网页教程:页面返回顶部锚点按钮的设计,赶紧看过来吧!

【 tulaoshi.com - Web开发 】

对于版面较长的网页,在底部会放上返回顶部的锚点链接,做法也很简单,直接用HTML就能实现,不过这种效果不交呆板,原因就是向上移动很突然,经常会让用户产生莫名的感觉,本文结合JS将实现一种滑动返回顶部的网页效果,这样用户感觉会比较舒服。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

‘TOP’置顶链接,说的通俗一点就是‘返回顶部的链接’,‘go to top ’一般都放在页面的底部,它可以快速返回页面顶部,以节省用户浏览页面的时间。 它主要的应用场景是当你有一个很长的网页内容时,您通常要 把 ‘TOP’锚点链接 添加在页面底部,只要用户一点击‘TOP’链接 ,就可以马上回到 页面的顶部了。

我们遇到的问题是:不是滚动到页面底部的时候才看到了‘TOP’,如果页面内容超过两屏以上时,用户有些心烦,我不想看了,我想回到顶部看一些其他的内容。
如果我们只看了第一屏的文章,不想看了,可是‘TOP’在第二屏才会出现。

这时候有三种情况发生:

发挥鼠标特长就是拖动浏览器的滚动条或是滚动鼠标滑轮,回到页面顶部。 继续硬着头皮往下看,看有没有‘TOP’,幸运的话,马上找到了,可以回到顶部了。(一般人心中是没有‘TOP’概念的,只有选择1 和3 的方法了) 直接关闭网页,或者重新打开网站,或者离开网站。

我想我们已经找到了问题的所在了。

我们有三种方案可以给用户带来良好的用户体验:

方案一:在合适的地方,手动加入一个或多个‘TOP’链接。

这是最原始的做法了,如果滚动太快,验,那就是我们给用户用脚本实现一下缓冲效果,而不是直接飙到顶部。

The HTML :

 a id="gototop"href="javascript:void(0);"onclick="goTop();return false;"Top of Page/a

The JavaScript :

/** * 作者:我是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);}}

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)方案二:‘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 :

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')});});

还有一个例子是动态生成‘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 :

需要 插件添加一些平滑的锚。

//pluginjQuery.fn.topLink = function(settings) {settings = jQuery.extend({min: 1,fadeSpeed: 200}, settings);return this.each(function() {//listen for scrollvar 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);});});

注意:

Please note that this version doesn’t work with Internet Explorer due to IE’s lack of CSS position:fixed support. Here is a shotty attempt at IE support:

//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.tulaoshi.com/n/20160220/1633260.html

延伸阅读
页面特性:产品页面简洁易用,专题页面绚丽视效印象深刻。 在页面设计当中,产品页面(如facebook 微博 twitter 微吧等)的设计。注重功能,交互,设计要考虑用户长时间的浏览体验。视觉上侧重间距,布局,按钮和logo,及icon样式。注重规范和视觉识别性。样式通常简洁易用,绚丽元素少,视觉上并不强调冲击力。 专题页面时效性有限(大多专题是...
标签: Web开发
今天网页教学网将和大家一起讨论网页设计趋势中很重要的环节,那就是勾引用户的按钮。所谓勾引用户的按钮,其实对于Web设计师来说,就是 如何设计出一个能让大多来访的用户都有点击欲望的按钮 。通常这些按钮被链接到 下载 、 注册 和 购买 等功能。 国外设计师 Seth Godin 将按钮比喻成 香蕉 ,而你的用户则会被比喻成可爱的 小猴子 。我...
本教程介绍如何用photoshop的自定义形状工具和图层样式制www.Tulaoshi.com作一个小巧的黄色按钮,先看效果图。 新建文档280x160像素,背景填充浅蓝色,建新层,画一白色圆角矩形。 添加图层样式。 效果如下。 建新层,做如下选区,(调出形状1选区,选择直线套索工具减选)填充...
最终效果 1) 利用圆角矩形工具建立一条路径;使用转换点工具移动左上角路径节点,使其产生卷页的形状; 2) 用任意一种色彩填充工作路径;再复制下半部分;对其添加图层样式,如图所示. 3) 用任意一种色彩绘制一个圆角矩形;将其图www.tulaoshi.com层移至红色矩形之后;添加图层样式,如图所示. 4) 再新建一层,绘制圆色矩形,颜色为黑...
标签: PS PS教程
本文由 中国 龟爬树(邓志峰) 原创,转载请保留此信息! 1、打开PHOTOSHOP,新建一个300X300像素,背景为白色的文档。 2、新建一个图层,用圆角矩形工具  画一个长圆角矩形,并打开图层样式,选择渐变叠加,具体设置如下图 [next] 3、新建一个图层,用铅笔工具  给按钮画上1个像素的细线。 ...

经验教程

564

收藏

67
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部