js实现分享到随页面滚动而滑动效果的方法

 更新时间:2015年04月10日 09:46:48   作者:jingangel  
这篇文章主要介绍了js实现分享到随页面滚动而滑动效果的方法,实例分析了javascript操作页面元素滚动效果的方法,需要的朋友可以参考下

本文实例讲述了js实现分享到随页面滚动而滑动效果的方法。分享给大家供大家参考。具体如下:

页面向上向下滚动,分享到的模块随着滑动。

要点:

复制代码 代码如下:
var scrtop =document.documentElement.scrollTop||document.body.scrollTop;
var height = document.documentElement.clientHeight||document.body.clientHeight;
var top = scrtop + (height - jb51.offsetHeight)/2;
top = parseInt(top);

获得页面垂直居中的位置
 
上代码:

<!DOCTYPE html>
<html>
<head>
<meta charset="gb2312" />
<title>无标题文档</title>
<style>
body{margin:0; padding:0; font:12px/1.5 arial; height:2000px;}
#jb51{width:100px; height:200px; line-height:200px;
text-align:center; border:1p solid #ccc;
background:#f5f5f5; position:absolute; left:-100px; top:0;}
#jb51_tit{position:absolute; right:-20px; top:60px;
width:20px; height:60px; padding:10px 0;
background:#06c; text-align:center;
line-height:18px; color:#fff;}
</style>
<script>
window.onload = function(){
 var jb51 = document.getElementById("jb51");
 jb51.onmouseover = function(){
 startrun(jb51,0,"left")
 }
 jb51.onmouseout = function(){
 startrun(jb51,-100,"left")
 }
 window.onscroll = window.onresize = function(){
 var scrtop=document.documentElement.scrollTop||document.body.scrollTop;
 var height=document.documentElement.clientHeight||document.body.clientHeight;
 var top = scrtop + (height - jb51.offsetHeight)/2;
 top = parseInt(top);
 startrun(jb51,top,"top")
 }
}
var timer = null
function startrun(obj,target,direction){
 clearInterval(timer);
 timer = setInterval(function(){
 var speed = 0;
 if(direction == "left"){
  speed = (target-obj.offsetLeft)/8;
  speed = speed>0?Math.ceil(speed):Math.floor(speed);
  if(obj.offsetLeft == target){
  clearInterval(timer);
  }else{
  obj.style.left = obj.offsetLeft + speed + "px";
  }
 }
  if(direction == "top"){
  speed = (target-obj.offsetTop)/8;
  speed = speed>0?Math.ceil(speed):Math.floor(speed);
  if(obj.offsetTop == target){
  clearInterval(timer);
  }else{
  obj.style.top = obj.offsetTop + speed + "px";
  }
  document.title = obj.offsetTop + ',' + target + ',' +speed;
 }
 },30)
}
</script>
</head>
<body>
<div id="jb51">
 分享到内容
 <span id="jb51_tit">分享到</span>
</div>
</body>
</html>

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

相关文章

  • 基于JavaScript实现无限加载瀑布流

    基于JavaScript实现无限加载瀑布流

    这篇文章主要为大家详细介绍了基于JavaScript实现无限加载瀑布流,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • 原生JS和jQuery操作DOM对比总结

    原生JS和jQuery操作DOM对比总结

    这篇文章主要给大家介绍了原生JS和jQuery操作DOM的一些对比总结,文中总结了很多的对比,相信对大家的学习或者工作能带来一定的帮助,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-01-01
  • JS日期转化指定格式及获取月/周日期区间的方法

    JS日期转化指定格式及获取月/周日期区间的方法

    本文详细介绍了JavaScript中Date类型的处理方法,包括日期的格式转换和获取特定月份或周的日期区间,本文介绍JS日期转化指定格式及获取月/周日期区间的方法,感兴趣的朋友跟随小编一起看看吧
    2024-09-09
  • JavaScript声明变量的这四兄弟(var、let、function、const)

    JavaScript声明变量的这四兄弟(var、let、function、const)

    这篇文章主要介绍了JavaScript声明变量的这四兄弟,主要就是介绍var、let、function、const区别,需要的朋友可以参考下
    2023-02-02
  • gulp-uglify 与gulp.watch()配合使用时报错(重复压缩问题)

    gulp-uglify 与gulp.watch()配合使用时报错(重复压缩问题)

    gulp是基于Nodejs的自动任务运行器,gulp 和 grunt 非常类似,但相比于 grunt 的频繁 IO 操作,gulp 的流操作,能更快地更便捷地完成构建工作。今天在学习gulp时遇到当用gulp.watch来监听js文件的变动时出现重复压缩问题,下面小编给大家解答下
    2016-08-08
  • JavaScript设计模式之模板方法模式原理与用法示例

    JavaScript设计模式之模板方法模式原理与用法示例

    这篇文章主要介绍了JavaScript设计模式之模板方法模式原理与用法,结合实例形式分析了JavaScript模板方法模式的概念、组成、定义、使用等相关操作技巧与注意事项,需要的朋友可以参考下
    2018-08-08
  • js 事件处理函数间的Event物件是否全等

    js 事件处理函数间的Event物件是否全等

    在非IE,事件对象Propagation之间的处理函数,或同dom节点触发的多个函数之间的Event物件是全等的。与绑定形式[addEventListener/DOM0]无关。
    2011-04-04
  • js控制的回到页面顶端goTop的代码实现

    js控制的回到页面顶端goTop的代码实现

    在浏览网页的时候应该会经常见到右下角有个【回到顶端】的悬浮东东,本文也要使用js实现一下,感兴趣的朋友可以参考下哈,希望可以帮助到你
    2013-03-03
  • 使用JS手写一个类似 Laravel 验证器的表单验证器

    使用JS手写一个类似 Laravel 验证器的表单验证器

    这篇文章主要为大家介绍了使用JS手写一个类似 Laravel 验证器的表单验证器实现示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06
  • javascript模拟map输出与去除重复项的方法

    javascript模拟map输出与去除重复项的方法

    这篇文章主要介绍了javascript模拟map输出与去除重复项的方法,通过自定义函数结合遍历与删除的方法实现了去除重复项的功能,非常具有实用价值,需要的朋友可以参考下
    2015-02-02

最新评论