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


Posted in Javascript onApril 10, 2015

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

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

要点:

var scrtop =document.documentElement.scrollTop||document.body.scrollTop;

var height = document.documentElement.clientHeight||document.body.clientHeight;

var top = scrtop + (height - 3water.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;}
#3water{width:100px; height:200px; line-height:200px;
text-align:center; border:1p solid #ccc;
background:#f5f5f5; position:absolute; left:-100px; top:0;}
#3water_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 3water = document.getElementById("3water");
 3water.onmouseover = function(){
 startrun(3water,0,"left")
 }
 3water.onmouseout = function(){
 startrun(3water,-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 - 3water.offsetHeight)/2;
 top = parseInt(top);
 startrun(3water,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="3water">
 分享到内容
 <span id="3water_tit">分享到</span>
</div>
</body>
</html>

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

Javascript 相关文章推荐
jquery ajax 同步异步的执行示例代码
Jun 23 Javascript
jQuery中创建实例与原型继承揭秘
Dec 21 Javascript
用JQuery在网页中实现分隔条功能的代码
Aug 09 Javascript
表单验证的完整应用案例探讨
Mar 29 Javascript
JavaScript运行时库属性一览表
Mar 14 Javascript
jQuery实现contains方法不区分大小写的方法
Feb 13 Javascript
jQuery实现带有动画效果的回到顶部和底部代码
Nov 04 Javascript
Javascript的表单验证-揭开正则表达式的面纱
Mar 18 Javascript
Angular之指令Directive用法详解
Mar 01 Javascript
关于使用js算总价的问题
Jun 23 Javascript
JS常见面试试题总结【去重、遍历、闭包、继承等】
Aug 27 Javascript
vue项目配置sass及引入外部scss文件
Apr 14 Vue.js
js实现同一页面多个不同运动效果的方法
Apr 10 #Javascript
js实现类似jquery里animate动画效果的方法
Apr 10 #Javascript
js实现类似新浪微博首页内容渐显效果的方法
Apr 10 #Javascript
javascript中关于&amp;&amp; 和 || 表达式的小技巧分享
Apr 10 #Javascript
js简单的点击返回顶部效果实现方法
Apr 10 #Javascript
浅谈JavaScript正则表达式分组匹配
Apr 10 #Javascript
JavaScript实现基于Cookie的存储类实例
Apr 10 #Javascript
You might like
PHP延迟静态绑定示例分享
2014/06/22 PHP
PHP把MSSQL数据导入到MYSQL的方法
2014/12/27 PHP
php对文件夹进行相关操作(遍历、计算大小)
2015/11/04 PHP
在Laravel框架里实现发送邮件实例(邮箱验证)
2016/05/20 PHP
php实现的生成排列算法示例
2019/07/25 PHP
基于jquery的气泡提示效果
2010/05/31 Javascript
JQUERY的属性选择符和自定义选择符使用方法(二)
2011/04/07 Javascript
JavaScript中使用ActiveXObject操作本地文件夹的方法
2014/03/28 Javascript
js函数内变量的作用域分析
2015/01/12 Javascript
jQuery中deferred对象使用方法详解
2016/07/14 Javascript
浅析JS中对函数function的理解(基础篇)
2016/10/14 Javascript
javascript遍历json对象的key和任意js对象属性实例
2017/03/09 Javascript
Vue2.0学习之详解Vue 组件及父子组件通信
2017/12/12 Javascript
JS高阶函数原理与用法实例分析
2019/01/15 Javascript
谈谈为什么你的 JavaScript 代码如此冗长
2019/01/30 Javascript
原生JS实现逼真的图片3D旋转效果详解
2019/02/16 Javascript
详解vue-template-admin三级路由无法缓存的解决方案
2020/03/10 Javascript
ant-design-vue中的select选择器,对输入值的进行筛选操作
2020/10/24 Javascript
[00:37]2016完美“圣”典风云人物:AMS宣传片
2016/12/06 DOTA
pycharm 使用心得(五)断点调试
2014/06/06 Python
python中Switch/Case实现的示例代码
2017/11/09 Python
对pandas进行数据预处理的实例讲解
2018/04/20 Python
对Python 窗体(tkinter)文本编辑器(Text)详解
2018/10/11 Python
Django重置migrations文件的方法步骤
2019/05/01 Python
Python中print函数简单使用总结
2019/08/05 Python
python利用datetime模块计算程序运行时间问题
2020/02/20 Python
Python3 io文本及原始流I/O工具用法详解
2020/03/23 Python
浅谈pytorch 模型 .pt, .pth, .pkl的区别及模型保存方式
2020/05/25 Python
跑步爱好者一站式服务网站:Jack Rabbit
2016/09/01 全球购物
圣诞树世界:Christmas Tree World
2019/12/10 全球购物
学院书画协会部门岗位职责
2013/12/01 职场文书
《大海那边》教学反思
2014/04/09 职场文书
2015年公务员转正工作总结
2015/04/24 职场文书
暂住证证明
2015/06/19 职场文书
乡镇干部学习心得体会
2016/01/23 职场文书
关于使用Redisson订阅数问题
2022/01/18 Redis