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 快速构建可拖曳的购物车DragDrop
Nov 30 Javascript
经典海量jQuery插件 大家可以收藏一下
Feb 07 Javascript
jquery右下角弹出提示框示例代码
Oct 08 Javascript
JavaScript实现数字数组按照倒序排列的方法
Apr 06 Javascript
使用javascript实现判断当前浏览器
Apr 14 Javascript
jquery简单实现图片切换效果的方法
May 12 Javascript
JavaScript文档碎片操作实例分析
Dec 12 Javascript
jQuery获取父元素节点、子元素节点及兄弟元素节点的方法
Apr 14 Javascript
jquery实现异步加载图片(懒加载图片一种方式)
Apr 24 jQuery
angularjs之$timeout指令详解
Jun 13 Javascript
vuex实现登录状态的存储,未登录状态不允许浏览的方法
Mar 09 Javascript
vue中使用rem布局代码详解
Oct 30 Javascript
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 友好URL的实现(吐血推荐)
2008/10/04 PHP
APACHE的AcceptPathInfo指令使用介绍
2013/01/18 PHP
基于PHP服务端图片生成缩略图的方法详解
2013/06/20 PHP
PHP生成自适应大小的缩略图类及使用方法分享
2014/05/06 PHP
PHP制作3D扇形统计图以及对图片进行缩放操作实例
2014/10/23 PHP
PHP中使用imagick实现把PDF转成图片
2015/01/26 PHP
mac系统下安装多个php并自由切换的方法详解
2017/04/21 PHP
利用Homestead快速运行一个Laravel项目的方法详解
2017/11/14 PHP
基于javascript实现的搜索时自动提示功能
2014/12/26 Javascript
javascript实现简单计算器效果【推荐】
2016/04/19 Javascript
浅谈bootstrap源码分析之tab(选项卡)
2016/06/06 Javascript
JS实现title标题栏文字不间断滚动显示效果
2016/09/07 Javascript
JS实现简单短信验证码界面
2017/08/07 Javascript
解析Json字符串的三种方法日常常用
2018/05/02 Javascript
简化vuex的状态管理方案的方法
2018/06/02 Javascript
vuex实现的简单购物车功能示例
2019/02/13 Javascript
解决layui的input独占一行的问题
2019/09/10 Javascript
JavaScript文档加载模式以及元素获取
2020/07/28 Javascript
antd vue table跨行合并单元格,并且自定义内容实例
2020/10/28 Javascript
jQuery-App输入框实现实时搜索
2020/11/19 jQuery
JavaScript实现点击图片换背景
2020/11/20 Javascript
JavaScript实现京东快递单号查询
2020/11/30 Javascript
[01:01:36]Optic vs paiN 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
使用python开发vim插件及心得分享
2014/11/04 Python
python遍历数组的方法小结
2015/04/30 Python
Python实现二维曲线拟合的方法
2018/12/29 Python
python贪吃蛇游戏代码
2020/04/18 Python
简单了解python关系(比较)运算符
2019/07/08 Python
python实现logistic分类算法代码
2020/02/28 Python
对python中arange()和linspace()的区别说明
2020/05/03 Python
利用scikitlearn画ROC曲线实例
2020/07/02 Python
《我要的是葫芦》教学反思
2014/02/23 职场文书
管理部副部长岗位职责范文
2014/03/09 职场文书
城市轨道交通工程职业生涯规划书范文
2014/09/16 职场文书
房屋租赁授权委托书范本
2014/09/20 职场文书
八月迷情观后感
2015/06/11 职场文书