CSS或JavaScript实现返回顶部按钮定位。

要求:1.返回顶部按钮始终贴合在网页主体的右下角。2.当用户通过滑动滚轮或使用“Ctrl+滚轮”改变网页大小,其相对位置不变。具体看图强调一下,仅仅是定位效果怎么写,而不... 要求:1. 返回顶部按钮 始终贴合在网页主体的右下角。2.当用户通过滑动滚轮或使用“Ctrl+滚轮”改变网页大小,其相对位置不变。

具体看图
强调一下,仅仅是定位效果怎么写,而不是返回顶部js。

具体效果请参见百度贴吧网页右侧返回按钮

P.S JS中有没有什么用来检测网页被放大的函数。

----------------------------------------------------------------------------------

自己搞定了。
topdiv的right=网页主体.offsetRight-返回顶部div的宽度;
给body添加一个onresize事件来检查网页是否被放大,并改变right值;
展开
 我来答
若烟火依然
推荐于2017-12-16
知道答主
回答量:13
采纳率:0%
帮助的人:21.5万
展开全部

例子代码及效果如下:

<div style="margin:0px; padding:5px; width:15px; height:90px; position:fixed; bottom:100px; right:150px; background-color:#00cc33; font-family:'微软雅黑'">返回顶部</div>

核心有三个:

1、position:fixed >> 表示位置不随滚动条滚动

2、bottom:100px >> 表示该div距浏览器下边缘100像素

3、right:150px >> 表示该div距离浏览器右边缘150像素

position:fixed; bottom:100px; right:150px;

那部分的效果如下图,不会根据浏览器滚动条的拖动而改变位置:

更多追问追答
追问
亲,我要的是返回按钮贴合在网页主题的边上,显然这个right值不是固定的,你把它写死了,不同的分辨率就会有不同的效果。而且当用户放大网页后这个按钮还会跑到网页里去。
追答

获取浏览器宽度

 var browerWidth = document.body.clientWidth

right = (browerWidth - 网页主体宽度)/2 - 返回顶部div宽度

那个江森
2014-02-26 · TA获得超过747个赞
知道小有建树答主
回答量:599
采纳率:50%
帮助的人:348万
展开全部
<script type="text/javascript" src="<?php bloginfo('template_directory');?>/func/back-2-top/cwp-back-2-top.js"></script>
<div id="shangxia">
       <div id="shang" title="↑ 返回顶部"></div>
       <?php if ( is_singular() ){ ?>
       <div id="comt" title="查看评论"></div>
       <?php } ?>
       <div id="xia" title="↓ 移至底部"></div>
</div>

CSS

#shangxia{position:fixed;top:45%;right:66.5%;display:block;margin-right:-540px;z-index:999;}
#shang,#comt,#xia{background:url(img/1.png) no-repeat;position:relative;cursor:pointer;
height:25px;width:29px;margin:10px 0 0;}
#comt{background-position:left -30px;height:32px;}
#xia{background-position:left -68px;}
#comt:hover{background-position:right -30px;}
#shang:hover{background-position:right 0;}
#xia:hover{background-position:right -68px ;}

JS:

jQuery(document).ready(function($) {
    $body = (window.opera) ? (document.compatMode == "CSS1Compat" ? $("html") : $("body")) : $("html,body");
    $("#shang").mouseover(function() {
        up()
    }).mouseout(function() {
        clearTimeout(fq)
    }).click(function() {
        $body.animate({
            scrollTop: 0
        },
        400)
    });
    $("#xia").mouseover(function() {
        dn()
    }).mouseout(function() {
        clearTimeout(fq)
    }).click(function() {
        $body.animate({
            scrollTop: $(document).height()
        },
        400)
    });
    $("#comt").click(function() {
        $body.animate({
            scrollTop: $("#comments").offset().top
        },
        400)
    });
});
function up() {
    $wd = $(window);
    $wd.scrollTop($wd.scrollTop() - 1);
    fq = setTimeout("up()", 50)
};
function dn() {
    $wd = $(window);
    $wd.scrollTop($wd.scrollTop() + 1);
    fq = setTimeout("dn()", 50)
};
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
shykingUIT
2014-02-26 · TA获得超过1534个赞
知道小有建树答主
回答量:1115
采纳率:100%
帮助的人:546万
展开全部

直接上图吧:


追问
或许是我描述的有点问题吧。如果divTop相对于mainDiv绝对定位,按照你的说法,的确能达到那个效果。但是如果mainDiv太高了,那么在一屏甚至二屏都看不到那个返回按钮了。手机回复,未测试。
追答
哎哟我去,疏忽了这个问题。

那只能相对才窗体用fixed了哟,然后距离用百分数写,这样就不会有你说的缩小页面就跑走了,放大页面一定范围不会跑页面里,但是超过窗体大小时就会跑页面里的,这个无法避免。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Prince____Yu
2014-02-26 · TA获得超过3718个赞
知道小有建树答主
回答量:864
采纳率:33%
帮助的人:949万
展开全部

我有现成的代码和链接:

http://blog.snowinmay.net/jquery/Totop/Totop.html

你查看源代码即可,有问题可以继续追问,有用就采纳!

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
黄盗贼
2018-10-23
知道答主
回答量:12
采纳率:0%
帮助的人:1.1万
展开全部
直接给a标签写个空连接重新刷新页面应该也是同样的效果,只不过没其他方法炫酷
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式