Js、Jquery对goTop功能的实现

本文介绍用原生JS和Jquery分别实现的网页goTopbutton功能,以及在这个过程中碰到的问题。

终于实现的效果类似:http://sc2.163.com/home(注意右下角的top)

代码:

Jquery

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <style>
        body{height: 2000px;}
        #goTop{
            display: none;
            cursor:pointer;
            background: url("common.png") no-repeat scroll 0 -460px;
            position: fixed;
            width: 60px;
            height: 60px;
            right: 20px;
            bottom: 20px;
            text-indent: -9999px;
            z-index: 100;
        }
        #goTop:hover{
            background-position: -100px -460px;
        }
    </style>
    <script src="../jQuery/jquery-1.11.3.js"></script>
    <script>
            $(function(){
                $(window).scroll(function(){
                    var scrH=document.documentElement.scrollTop+document.body.scrollTop;
                    if(scrH>200){
                        $(‘#goTop‘).fadeIn(400);
                    }else{
                        $(‘#goTop‘).stop().fadeOut(400);
                    }
                });
                $(‘#goTop‘).click(function(){
                    $(‘html,body‘).animate({scrollTop:‘0px‘},200);
                });
            });
    </script>
</head>
<body>
<a id="goTop" href="javascript:">返回顶层</a>
</body>
</html>

JS

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <style>
        body{height: 2000px;}
        #goTop{
            display: none;
            cursor:pointer;
            background:url("common.png") no-repeat scroll 0 -460px;
            position: fixed;
            width: 60px;
            height: 60px;
            right: 20px;
            bottom: 20px;
            z-index: 100;
            text-indent: -9999px;
        }
        #goTop:hover{
            background-position: -100px -460px;
        }
    </style>
</head>
<body>
<a id="goTop" title="返回顶部" href="javascript:scroll(0,0)">返回顶层</a>
</body>
</html>
<script>
    (function() {
        function $(id){
            return document.getElementById(id);
        }
        window.onscroll=function(){
            var scrH=document.documentElement.scrollTop+document.body.scrollTop;
            if(scrH>200){
                $(‘goTop‘).style.display=‘block‘;
            }else{
                $(‘goTop‘).style.display=‘none‘;
            }
        };
    }());
</script>

代码好像没啥特别好解释了。说说我碰到的问题吧。

①在IE低版本号下。不支持rgba属性~

②原生js的动画效果还不会实现,希望有人留言教下。

时间: 2024-08-11 18:53:27

Js、Jquery对goTop功能的实现的相关文章

正在加载中-js/jQuery功能实现

前言 最近在springMVC中集成一个基于jsp报表工具,在集成之后的,由于报表运算量很大,SQL语句比较复杂,所以前台点击按钮触发以后,呆上几秒才有反应过来弹出报表框,所以想加入一个类似正在加载中的有好提示,使客户体验更好,不过没想象的那么容易,主要是产品采用的freemarker模版引擎,加载封装的dialog方法不能直接访问页面且不能直接向页面传参等等,不过问题都被我一一解决了,废话不多说,直接切入正题,主要看看这个小功能的简单实现吧. 引入如下HTML元素 <body> <di

Jquery.LazyLoad.js实现图片延迟加载功能

从网上下载来的版本多多少少都有些BUG,尤其是加载后在IE6和IE7下图片闪动是个大问题,在网上查了很久,也没有找到相关的解决方案.没解决方案,就得发挥咱DIY的精神,自己想法解决,分析了BUG,理了理思路,结合前段时间我做弹出窗口特效的方法,解决了Jquery.LazyLoad.js的兼容问题,现将思路和方法与大家分享一下. 解决思路大致是两点,一是从LazyLoad本身的滤镜参数下手,发现有一个参数在IE6和IE7是可以用的,就是show,那么在IE6和IE7下用这个特效:二是IE8以上(包

JS Jquery去除数组重复元素

js jquery去除数组中的重复元素 第一种:$.unique() 第二种: for(var i = 0,len = totalArray_line.length;i < len;i++) { !RegExp(totalArray_line[i],"g").test(resultArray_line.join(",")) && (resultArray_line.push(totalArray_line[i])); }-----解决了V0.2

Struts2 整合jQuery实现Ajax功能(1)

技术领域很多东西流行,自然有流行的道理,这几天用了jQuery,深感有些人真是聪明绝顶,能将那么多技术融合的如此完美. 首先明确个概念: jQuery是什么:是使用javascript语言开发的,用于满足项目前台各种操作需要的js程序文件.也就是说,jQuery基本上就是个js程序集,基础核心是jQuery.js文件. l        当然根据不同的版本具体的表现形式: jQuery.1.6.js或者jquery-1.5.1.js 这个是版本号的不同,具体有哪些区别,还没发现. l      

Js(Jquery)实现的弹出窗口

想实现一个弹出层,过一段时间自动消失的功能. 之前的项目中是:在页面中预先先一个<div>区域,默认隐藏或者因为没有内容不显示.当需要显示信息时,将该<div>填充上内容,并用样式显示在正确的位置上. 今天想找这么一个插件,发了这个:http://tautologistics.com/projects/jquery.modaldialog/ 还不错,可以弹出窗口手动关闭,也可定时关闭. 百度盘:http://pan.baidu.com/s/1qWruV2c 后来再进行搜索,发现了这

Struts2 整合jQuery实现Ajax功能(2)

1.1.1   Action利用struts2-json-plugin-X.X.X.jar响应Json格式信息: 1.      function removerecordbyid(recordid){ 2.              $("#showallrecord table tr").each( 3.              function(){ 4.                var seq=parseInt($( this ).children( "td&

js,jquery概念理解

js,jquery都是一种脚本语言,编写代码,实现页面的dom操作,特效等功能. 区别:jquery"写的更少,做的更多"; 两者可以串着用,但能不用JS就不用js. 计算机常识:语言->代码->程序->执行->输出(效果)

JS实现搜索匹配功能

<!doctype html> <html> <head> <meta charset="utf-8"> <title>JS实现搜索匹配功能</title> <script src="https://libs.baidu.com/jquery/1.11.3/jquery.min.js"></script> <style> div,li,ul { margin:

js jquery插入元素后事件会被注销

  js jquery插入元素后事件会被注销 document.body.innerHTML += <div id="dd">test</div>  //这个会注销事件 $(document.body).append(str);//使用这个 也可以绑定事件. 例子: //快捷键双击 $(".app_shortcut_item").dblclick(function () { var id = $(this).attr("id&quo