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 相关文章推荐
JSON 和 JavaScript eval使用说明
Jun 13 Javascript
Jquery为单选框checkbox绑定单击click事件
Dec 18 Javascript
使用jQuery和PHP实现类似360功能开关效果
Feb 12 Javascript
CSS3,HTML5和jQuery搜索框集锦
Dec 02 Javascript
javascript实现回车键提交表单方法总结
Jan 10 Javascript
jquery插件qrcode在线生成二维码
Apr 26 Javascript
vue判断input输入内容全是空格的方法
Mar 02 Javascript
为jquery的ajax请求添加超时timeout时间的操作方法
Sep 04 jQuery
JS函数节流和防抖之间的区分和实现详解
Jan 11 Javascript
Vue+Koa2 打包后进行线上部署的教程详解
Jul 31 Javascript
Element Dropdown下拉菜单的使用方法
Jul 26 Javascript
vue 单页应用和多页应用的优劣
Oct 22 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 加密解密内部算法
2010/04/22 PHP
PHP中数字检测is_numeric与ctype_digit的区别介绍
2012/10/04 PHP
PHP中使用json数据格式定义字面量对象的方法
2014/08/20 PHP
非集成环境的php运行环境(Apache配置、Mysql)搭建安装图文教程
2016/04/12 PHP
thinkPHP5.0框架简单配置作用域的方法
2017/03/17 PHP
PHP实现二维数组中的查找算法小结
2018/06/09 PHP
PHP单例模式数据库连接类与页面静态化实现方法
2019/03/20 PHP
爱恋千雪-US-AscII加密解密工具(网页加密)下载
2007/06/06 Javascript
Javascript和Java获取各种form表单信息的简单实例
2014/02/14 Javascript
jQuery学习笔记之总体架构
2014/06/03 Javascript
详解AngularJS Filter(过滤器)用法
2015/12/28 Javascript
url传递的参数值中包含&amp;时,url自动截断问题的解决方法
2016/08/02 Javascript
BootStrap CSS全局样式和表格样式源码解析
2017/01/20 Javascript
jQuery 判断元素整理汇总
2017/02/28 Javascript
vue监听scroll的坑的解决方法
2017/09/07 Javascript
JS中验证整数和小数的正则表达式
2018/10/08 Javascript
基于mpvue搭建微信小程序项目框架的教程详解
2019/04/10 Javascript
详解小程序设置缓存并且不覆盖原有数据
2019/04/15 Javascript
关于vue表单提交防双/多击的例子
2019/10/31 Javascript
原生js实现自定义难度的扫雷游戏
2021/01/22 Javascript
[03:51]吞吞映像 每周精彩击杀top10第二弹
2014/06/25 DOTA
python条件和循环的使用方法
2013/11/01 Python
python执行shell获取硬件参数写入mysql的方法
2014/12/29 Python
Python两个整数相除得到浮点数值的方法
2015/03/18 Python
Python partial函数原理及用法解析
2019/12/11 Python
Python安装OpenCV的示例代码
2020/03/05 Python
如何在python中处理配置文件代码实例
2020/09/27 Python
CSS3与动画有关的属性transition、animation、transform对比(史上最全版)
2017/08/18 HTML / CSS
英国灯具和灯泡网上商店:Lights.co.uk
2018/02/02 全球购物
销售个人求职信范文
2014/04/28 职场文书
文员转正自我鉴定怎么写
2014/09/29 职场文书
教师廉洁自律个人总结
2015/02/10 职场文书
工程资料员岗位职责
2015/04/13 职场文书
springboot项目以jar包运行的操作方法
2021/06/30 Java/Android
python的变量和简单数字类型详解
2021/09/15 Python
Go本地测试解耦任务拆解及沟通详解Go本地测试的思路沟通的重要性总结
2022/06/21 Golang