jQuery实现滑动页面固定顶部显示(可根据显示位置消失与替换)


Posted in Javascript onOctober 28, 2015

本文实例讲述了jQuery实现滑动页面固定顶部显示(可根据显示位置消失与替换)。分享给大家供大家参考,具体如下:

这里介绍的jQuery拉动页面固定顶部显示,及自动消失效果,可能ie浏览器下有问题,不过火狐什么的都可以运行看效果,一个简单的网页特效,也是很常用的“回到顶部”效果,有兴趣的看一下。

运行效果截图如下:

jQuery实现滑动页面固定顶部显示(可根据显示位置消失与替换)

在线演示地址如下:

具体代码如下:

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>回到顶部:哭泣的小丑</title>
<script src="jquery-1.6.2.min.js"></script>
<!-- CSS模板清除 -->
<style>
html, body, div, span, applet, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,a, abbr, acronym, address, big, cite, code,del, dfn, em, img, ins, kbd, q, s, samp,small, strike, strong, sub, sup, tt, var,b, u, i, center,dl, dt, dd, ol, ul, li,fieldset, form, label, legend, input,table, caption, tbody, tfoot, thead, tr, th, td,article, aside, canvas, details, embed,figure, figcaption, footer, header, hgroup,menu, nav, output, ruby, section, summary,time, mark, audio, video {margin: 0;padding: 0;border: 0;font-size: 100%;}
article, aside, details, figcaption, figure,footer, header, hgroup, menu, nav, section {display: block;float:left;}select, input, button,button img, label {vertical-align: middle;}body {font:normal 12px/1.5 "Microsoft Yahei","微软雅黑",Tahoma,Arial,Helvetica,STHeiti; webkit-font-smoothing:antialiased;-moz-font-smoothing: subpixel-antialiased; color:#666;}ol, ul {list-style: none;}blockquote, q {quotes: none;}blockquote:before, blockquote:after,q:before, q:after {content: '';content: none;}table {border-collapse: collapse;border-spacing: 0;}em {font-style: normal}select, input, button, button img, label {vertical-align:middle;}input {font-family:"Microsoft Yahei","微软雅黑";webkit-font-smoothing:antialiased;-moz-font-smoothing: subpixel-antialiased}input, input:focus, button, button:focus, select,textarea, textarea:focus {outline:none; -moz-outline:none; -webkit-outline:none; }input:focus { outline:none; -moz-outline:none; -webkit-outline:none; }textarea {resize:none;}a {color:#666; text-decoration:none;} a:hover {text-decoration:underline;}a:focus {outline:none; -moz-outline:none;-webkit-outline:none;}body {min-width: 960px;}
</style>
<!-- CSS模板清除 E-->
<!-- main CSS -->
<style>
body{background:#e7e7e7;}
.clearfix:before, .clearfix:after, .container_24:before, .container_24:after {
 content: '.'; display: block; overflow: hidden; visibility: hidden; font-size: 0; line-height: 0; width: 0; height: 0;}
.clearfix:after, .container_24:after { clear: both; }
.Xc_main{width:750px;margin:0 auto;position:relative;}
.Xc_left{float:left;}
.Xc_left h1{font-size:24px;padding-top:25px;}
.Xc_right{float:right;width:600px;}
.Xc_right .Xc_list{margin:10px 0 10px 0;}
.Xc_list_top,.Xc_list_main{background:#fff;padding:10px;border:1px solid #ccc;}
.Xc_list_top{margin-bottom:10px;}
.Xc_gg{width:90px;height:90px;border:1px solid #ccc;background:#fff;text-align:center;}
.Xc_bottom{height:650px;background:#fff;padding:10px;border:1px solid #ccc;position:relative;}
</style>
<!-- main CSS E-->
</head>
<script>
$(function () {
 $(".Xc_list_top").css("width",$(".Xc_list_main").width());
 var resetRightPanelPostion = function () {
 var msie6 = $.browser.msie && $.browser.version == '6.0' && $.browser.version < 7;
 if ($.browser.safari) {
  bodyelem = $("body");
 } else {
  bodyelem = $("html,body");
 }
 var bodyTop = bodyelem.scrollTop();
 var top = $(".Xc_left").offset().top;
 //var t = $("#public_footer").offset().top;
 var t = $("#footerDestinationBox").offset().top;
 //var bottom = $("#footerDestinationBox").offset().top;
  for(var i = 0 ; i < $(".Xc_list .Xc_list_top").length ; i++){
   if (bodyTop >= top && ((bodyTop + $(".Xc_left").outerHeight()) < t)) {
    if (!msie6) {
     if (bodyTop + $(".Xc_gg").outerHeight() >= t) {
      $(".Xc_gg").removeClass('fixed').css({
       "position": "absolute",
       "top": t - $(".Xc_gg").outerHeight() + "px"
      });
     } else {
      $(".Xc_gg").css({
       "position": "fixed",
       "top": 0
      });
     }
    }
   } else {
    if (!msie6) {
     $(".Xc_gg").css({
      "position": "static"
     });
    }
   }
   if(bodyTop>$(".Xc_list").eq(i).offset().top){
    $(".Xc_list_top").eq(i).css({position:"absolute",top:top-168});
   }
   if(bodyTop>$(".Xc_list").eq(i).offset().top){
    $(".Xc_list_top").eq(i).css({position:"fixed",top:0});
   }
   if(bodyTop<=$(".Xc_list").eq(i).offset().top){
    $(".Xc_list_top").eq(i).css({position:"static",top:0});
   }
  }
 };
 window.onload = function () {
 if ($(".Xc_gg").length) {
  resetRightPanelPostion();
  $(window).scroll(function () {
  resetRightPanelPostion();
  });
 }
 }
})
</script>
<body>
<div class="Xc_main clearfix">
 <div class="clearfix" style="margin-top:90px;float:left;">
 <div class="Xc_left">
  <div class="Xc_gg">
  <h1>小丑</h1>
  <div style="margin-top:40px;">Q群:<em style="color:#0069D6;">150508281</em></div>
  </div>
 </div>
 </div>
 <div class="Xc_right clearfix">
  <div class="Xc_list">
  <div class="Xc_list_top" id="Xc_list_top">top 1</div>
  <div class="Xc_list_main" style="height:300px;background:#fff;">
  </div>
 </div>
 <div class="Xc_list">
  <div class="Xc_list_top">top 2</div>
  <div class="Xc_list_main" style="height:300px;background:#fff;">
  </div>
 </div>
 <div class="Xc_list">
  <div class="Xc_list_top">top 3</div>
  <div class="Xc_list_main" style="height:300px;background:#fff;">
  </div>
 </div>
 <div class="Xc_list">
  <div class="Xc_list_top">top 4</div>
  <div class="Xc_list_main" style="height:300px;background:#fff;">
  </div>
 </div>
 <div class="Xc_list">
  <div class="Xc_list_top">top 5</div>
  <div class="Xc_list_main" style="height:300px;background:#fff;">
  </div>
 </div>
 <div class="Xc_list">
  <div class="Xc_list_top">top 6</div>
  <div class="Xc_list_main" style="height:300px;background:#fff;">
  </div>
 </div>
 </div>
</div>
<div class="Xc_bottom clearfix" id="footerDestinationBox">
 <div style="position:absolute;top:40px;right:50px;"> by 蓝色理想 @哭泣的小丑</div>
</div>
</body>
</html>

希望本文所述对大家jQuery程序设计有所帮助。

Javascript 相关文章推荐
javascript中的变量是传值还是传址的?
Apr 19 Javascript
Javascript类库的顶层对象名用户体验分析
Oct 24 Javascript
jquery图片上下tab切换效果
Mar 18 Javascript
谈谈encodeURI和encodeURIComponent以及escape的区别与应用
Nov 24 Javascript
前端js实现文件的断点续传 后端PHP文件接收
Oct 14 Javascript
javascript常用经典算法详解
Jan 11 Javascript
微信小程序 页面之间传参实例详解
Jan 13 Javascript
jquery操作ul的一些操作笔记整理(干货)
Aug 31 jQuery
关于HTML5的data-*自定义属性的总结
May 05 Javascript
vue 项目打包通过命令修改 vue-router 模式 修改 API 接口前缀
Jun 13 Javascript
jquery 动态遍历select 赋值的实例
Sep 12 jQuery
JavaScript实现轮播图效果
Oct 30 Javascript
jquery实现的动态回到顶部特效代码
Oct 28 #Javascript
JavaScript如何调试有哪些建议和技巧附五款有用的调试工具
Oct 28 #Javascript
jQuery实现鼠标滑过链接控制图片的滑动展开与隐藏效果
Oct 28 #Javascript
使用Chart.js图表库制作漂亮的响应式表单
Oct 28 #Javascript
jQuery+PHP+MySQL二级联动下拉菜单实例讲解
Oct 27 #Javascript
jQuery结合CSS制作动态的下拉菜单
Oct 27 #Javascript
jquery实现的V字形显示效果代码
Oct 27 #Javascript
You might like
将RTF格式的文件转成HTML并在网页中显示的代码
2006/10/09 PHP
PHP 表单提交给自己
2008/07/24 PHP
适用于初学者的简易PHP文件上传类
2015/10/29 PHP
PHP实现的pdo连接数据库并插入数据功能简单示例
2019/03/30 PHP
js 优化次数过多的循环 考虑到性能问题
2011/03/05 Javascript
JS中如何设置readOnly的值
2013/12/25 Javascript
用box固定长宽实现图片自动轮播js代码
2014/06/09 Javascript
jQuery判断对象是否存在的方法
2015/02/05 Javascript
AngularJs实现ng1.3+表单验证
2015/12/10 Javascript
js实现文字列表无缝滚动效果
2017/06/23 Javascript
JavaScript实现的数字与字符串转换功能示例
2017/08/23 Javascript
Vue响应式原理深入解析及注意事项
2017/12/11 Javascript
JS+CSS实现滚动数字时钟效果
2017/12/25 Javascript
nodejs取得当前执行路径的方法
2018/05/13 NodeJs
JS实现图片拖拽交换效果
2018/11/30 Javascript
Vue源码之关于vm.$delete()/Vue.use()内部原理详解
2019/05/01 Javascript
微信小程序如何使用云开发
2019/05/17 Javascript
[01:36:17]DOTA2-DPC中国联赛 正赛 Ehome vs iG BO3 第一场 1月31日
2021/03/11 DOTA
Python中的多重装饰器
2015/04/11 Python
python将文本转换成图片输出的方法
2015/04/28 Python
在Django中管理Users和Permissions以及Groups的方法
2015/07/23 Python
简单了解OpenCV是个什么东西
2017/11/10 Python
Django自定义过滤器定义与用法示例
2018/03/22 Python
详解将Django部署到Centos7全攻略
2018/09/26 Python
使用python实现mqtt的发布和订阅
2019/05/05 Python
python爬虫 模拟登录人人网过程解析
2019/07/31 Python
python RC4加密操作示例【测试可用】
2019/09/26 Python
python多环境切换及pyenv使用过程详解
2019/09/27 Python
python读取word 中指定位置的表格及表格数据
2019/10/23 Python
python基于TCP实现的文件下载器功能案例
2019/12/10 Python
Python开发之pip安装及使用方法详解
2020/02/21 Python
python字符串常用方法及文件简单读写的操作方法
2020/03/04 Python
JAVA SWT事件四种写法实例解析
2020/06/05 Python
Ajax的工作原理
2015/12/04 面试题
演讲稿怎么写
2014/01/07 职场文书
简历中的自我评价范文
2014/02/05 职场文书