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 特性检测并非浏览器检测
Jan 15 Javascript
Extjs 3.3切换tab隐藏相应工具栏出现空白解决
Apr 02 Javascript
JQuery获取样式中的background-color颜色值的问题
Aug 20 Javascript
JavaScript版的TwoQueues缓存模型
Dec 29 Javascript
原生JS实现图片翻书效果
Feb 16 Javascript
深入理解javascript的getTime()方法
Feb 16 Javascript
vue父组件中获取子组件中的数据(实例讲解)
Sep 27 Javascript
JavaScript求一个数组中重复出现次数最多的元素及其下标位置示例
Jul 23 Javascript
webpack项目使用eslint建立代码规范实现
May 16 Javascript
Vue中点击active并第一个默认选中功能的实现
Feb 24 Javascript
mpvue网易云短信接口实现小程序短信登录的示例代码
Apr 03 Javascript
微信小程序实现点击页面出现文字
Sep 21 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批量缩放图片的代码[ini参数控制]
2011/02/11 PHP
PHP数据库操作之基于Mysqli的数据库操作类库
2014/04/19 PHP
PHP获取指定时间段之间的 年,月,天,时,分,秒
2016/06/05 PHP
PHP Socket网络操作类定义与用法示例
2017/08/30 PHP
Apply an AutoFormat to an Excel Spreadsheet
2007/06/12 Javascript
Extjs Ext.MessageBox.confirm 确认对话框详解
2010/04/02 Javascript
JS远程获取网页源代码实例
2013/09/05 Javascript
谈谈javascript中使用连等赋值操作带来的问题
2015/11/26 Javascript
js获取及修改网页背景色和字体色的方法
2015/12/29 Javascript
JS实现的在线调色板实例(附demo源码下载)
2016/03/01 Javascript
JavaScript通过HTML的class来获取HTML元素的方法总结
2016/05/24 Javascript
Angularjs手动解析表达式($parse)
2016/10/12 Javascript
JavaScript实现事件的中断传播和行为阻止方法示例
2017/01/20 Javascript
jQuery实现简单弹窗遮罩效果
2017/02/27 Javascript
vue bootstrap小例子一枚
2017/06/09 Javascript
vue-router路由懒加载和权限控制详解
2017/12/13 Javascript
详解js的作用域、预解析机制
2018/02/05 Javascript
JavaScript 继承 封装 多态实现及原理详解
2019/07/29 Javascript
layer实现登录弹框,登录成功后关闭弹框并调用父窗口的例子
2019/09/11 Javascript
js贪心算法 钱币找零问题代码实例
2019/09/11 Javascript
Angular之jwt令牌身份验证的实现
2020/02/14 Javascript
python基础教程项目五之虚拟茶话会
2018/04/02 Python
python GUI库图形界面开发之PyQt5 Qt Designer工具(Qt设计师)详细使用方法及Designer ui文件转py文件方法
2020/02/26 Python
Python读取VOC中的xml目标框实例
2020/03/10 Python
学会迭代器设计模式,帮你大幅提升python性能
2021/01/03 Python
美国CVS药店官网:CVS Pharmacy
2018/07/26 全球购物
世界上最好的旅行夹克:BauBax
2018/12/23 全球购物
教师自我鉴定
2013/12/13 职场文书
中餐厅经理岗位职责
2014/04/11 职场文书
三八妇女节活动总结
2014/05/04 职场文书
餐饮周年庆活动方案
2014/08/14 职场文书
村班子对照检查材料
2014/08/18 职场文书
2014年人大工作总结
2014/12/10 职场文书
2015年管理人员工作总结
2015/05/13 职场文书
健康教育主题班会
2015/08/14 职场文书
用python开发一款操作MySQL的小工具
2021/05/12 Python