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 相关文章推荐
为调试JavaScript添加输出窗口的代码
Feb 07 Javascript
无阻塞加载脚本分析[全]
Jan 20 Javascript
JavaScript之自定义类型
May 04 Javascript
如何让easyui gridview 宽度自适应窗口改变及fitColumns应用
Jan 25 Javascript
jquery 页眉单行信息滚动显示实现思路及代码
Jun 26 Javascript
JavaScript实现俄罗斯方块游戏过程分析及源码分享
Mar 23 Javascript
prototype框架中美元符号$用法分析
Jan 22 Javascript
JS跨域交互(jQuery+php)之jsonp使用心得
Jul 01 Javascript
原生JavaScript来实现对dom元素class的操作方法(推荐)
Aug 16 Javascript
js+canvas实现简单扫雷小游戏
Jan 22 Javascript
微信小程序实现弹框效果
May 26 Javascript
vue 基于abstract 路由模式 实现页面内嵌的示例代码
Dec 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 金额数字转换成英文
2010/05/06 PHP
Laravel 5框架学习之环境与配置
2015/04/08 PHP
两款万能的php分页类
2015/11/12 PHP
完美解决phpexcel导出到xls文件出现乱码的问题
2016/10/29 PHP
基于jquery的气泡提示效果
2010/05/31 Javascript
js获取窗口相对于屏幕左边和上边的位置坐标
2014/05/15 Javascript
JavaScript判断浏览器类型的方法
2015/02/10 Javascript
Javascript函数的参数
2015/07/16 Javascript
jQuery ajax提交Form表单实例(附demo源码)
2016/04/06 Javascript
web.js.字符串与正则表达式操作
2017/05/13 Javascript
JS实现不用中间变量temp 实现两个变量值得交换方法
2018/02/04 Javascript
详解Vue取消eslint语法限制
2018/08/04 Javascript
Angular6封装http请求的步骤详解
2018/08/13 Javascript
js判断复选框是否选中的方法示例【基于jQuery】
2019/10/10 jQuery
不依任何赖第三方,单纯用vue实现Tree 树形控件的案例
2020/09/21 Javascript
python里对list中的整数求平均并排序
2014/09/12 Python
在Python中处理日期和时间的基本知识点整理汇总
2015/05/22 Python
Python中的anydbm模版和shelve模版使用指南
2015/07/09 Python
使用python和pygame绘制繁花曲线的方法
2018/02/24 Python
对numpy中数组元素的统一赋值实例
2018/04/04 Python
Numpy数组转置的两种实现方法
2018/04/17 Python
解决python 无法加载downsample模型的问题
2018/10/25 Python
Python功能点实现:函数级/代码块级计时器
2019/01/02 Python
连接pandas以及数组转pandas的方法
2019/06/28 Python
浅谈opencv自动光学检测、目标分割和检测(连通区域和findContours)
2020/06/04 Python
基于CSS3制作立体效果导航菜单
2016/01/12 HTML / CSS
芬兰汽车配件商店:Autonvaraosat24
2017/01/30 全球购物
计算机网络及管理学专业求职信
2014/06/05 职场文书
单位法定代表人授权委托书
2014/09/20 职场文书
学习心理学的体会
2014/11/07 职场文书
2014年团委工作总结
2014/11/13 职场文书
无保留意见审计报告
2015/06/05 职场文书
高二语文教学反思
2016/02/16 职场文书
python开发实时可视化仪表盘的示例
2021/05/07 Python
【海涛解说】史上最给力比赛,挑战DOTA极限
2022/04/01 DOTA
frg-100简单操作(设置)说明
2022/04/05 无线电