javascript 实现分享功能
1、面向过程分享
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
*{
margin: 0;
padding: 0;
} ul,li{
list-style: none;
} .share {
position: absolute;
width: 300px;
height: 200px; left: -270px;
} .share span{
padding-top: 70px; width: 30px;
height: 130px; display: block;
float: left; border-radius:0 10px 10px 0; background-color: pink;
color: #fff;
text-align: center;
} .sharecont{
width: 270px;
height: 200px; float: left; background: grey;
} </style>
</head>
<body> <div class="share" id="share">
<div class="sharecont"></div>
<span id="share">分享到:</span>
</div>
<script>
/**
* 练习javascript中运动的概念
* javascript 要实现运动运动设计到的两个地方:
* 1、div 必须要设置为position: absolute
* 2、使用定时器来完成
* 3、以后判断条件尽量用===的形式来判断到达终点
*/
window.onload = function () {
var share = document.getElementById('share');
var timer = null; function startMove (iTarget) {
clearInterval(timer);
var speed = 0;
timer = setInterval(function(){
if( share.offsetLeft < iTarget ){
speed = 10;
}else{
speed = -10;
} if( share.offsetLeft === iTarget ){
clearInterval(timer);
}else{
share.style.left = share.offsetLeft + speed + "px";
}
},30);
} share.onmouseover = function () {
startMove(0);
};
share.onmouseout = function () {
startMove(-270);
};
};
</script>
</body> </html>
2、使用面向对象改写以上程序
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
*{
margin: 0;
padding: 0;
} ul,li{
list-style: none;
} .share {
position: absolute;
width: 300px;
height: 200px; left: -270px;
} .share span{
padding-top: 70px; width: 30px;
height: 130px; display: block;
float: left; border-radius:0 10px 10px 0; background-color: #6ed8e5;
color: #fff;
text-align: center;
} .sogoushare {
top: 300px;
} .sogoushare span{
background-color: #3acdb0;
} .sharecont{
width: 270px;
height: 200px; float: left; background: grey;
} </style>
</head>
<body> <div class="share" id="baidushare">
<div class="sharecont"></div>
<span>分享到</span>
</div> <div class="share sogoushare" id="sogoushare">
<div class="sharecont"></div>
<span>分享到</span>
</div> <script> /**
* 练习javascript中运动完成面向对象的分享功能
* overItarget 传入移入的到达目标值
* outItarget 传入移出的目标值
*/ function Share (id, overItarget, outItarget) {
this.share = document.getElementById(id);
this.timer = null;
this.speed = 0;
var that = this; this.share.onmouseover = function () {
that.startMove(overItarget);
}; this.share.onmouseout = function () {
that.startMove(outItarget);
};
} Share.prototype.startMove = function(iTarget) {
clearInterval(this.timer); var that = this;
this.timer = setInterval(function(){ if( that.share.offsetLeft < iTarget ){
this.speed = 10;
}else{
this.speed = -10;
} if( that.share.offsetLeft === iTarget ){
clearInterval(this.timer);
}else{
that.share.style.left = that.share.offsetLeft + this.speed + "px";
}
},30);
}; window.onload = function () { var baiduShare = new Share("baidushare",0,-270);
var sogouShare = new Share("sogoushare",0,-270); };
</script>
</body>
javascript 实现分享功能的更多相关文章
- 微信分享功能引入页面-控制分享时候调用的标题、图片、url和微信按钮隐藏显示控制
1.设置分享调用的标题.图片.url预览. 2.控制右上角三个点按钮的隐藏显示(和底部工具栏的显示隐藏--未测试). 3.判断网页是否在微信中被调用. <!doctype html> &l ...
- 微信JS-SDK实际分享功能
为了净化网络,整顿诱导分享及诱导关注行为,微信于2014年12月30日发布了<微信公众平台关于整顿诱导分享及诱导关注行为的公告>,微信平台开发者发现,原有的微信分享功能不能用了,在ipho ...
- js分享功能
引用JiaThis的分享功能: 直接在想要放置分享功能的地方加上如下代码即可: <!-- JiaThis Button BEGIN --> <div class="jiat ...
- js分享功能(微信,QQ,微博,空间,豆瓣等)
日常编程中,我们可能会碰到项目中的分享功能,各大平台都有分享接口和文档说明,当然也有一些一键分享插件,例如:sosh,iShare.js等等 但有些同学不想引用插件,那么我整理了一些常用的分享至平台功 ...
- H5分享功能
web端分享功能 https://www.cnblogs.com/sdcs/p/8328367.html H5分享功能 公司里面做web开发经常会做H5页面,今天整理分享一下. 微信公众号平台 步骤一 ...
- 12个实用的 JavaScript 框架分享给前端开发者
JavaScript库是预先编写的 JavaScript 工具代码,让开发者可以更容易开发 JavaScript 应用.这个列表我们列出了2017年1月份功能丰富的 JavaScript 库,可以帮助 ...
- ThinkPHP5集成JS-SDK实现微信自定义分享功能
最近开发一个项目,需要将链接分享给好友时能够自定义标题.简介和logo,现将ThinkPHP5集成JS-SDK实现微信自定义分享功能的过程整理成文. 一.准备工作 1.认证的公众号 不管是订阅号还是服 ...
- 实现分享功能插件2---jiathis分享插件应用
博主原创:未经博主允许,不得转载 在上一篇的博文中分享了如何用百度分享插件实现分享功能,现在展示用jiathis进行实现分享功能: 主要代码如下: <body> <div class ...
- MUI 分享功能(微信、QQ 、朋友圈)
配置文件:manifest.json plus ->plugins 下边 "share": {/*配置应用使用分享功能,参考http://ask.dcloud.net.cn/ ...
随机推荐
- 2015 UESTC Winter Training #8【The 2011 Rocky Mountain Regional Contest】
2015 UESTC Winter Training #8 The 2011 Rocky Mountain Regional Contest Regionals 2011 >> North ...
- 画画 保存为图片 MaskFilter 边缘效果
使用 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> publ ...
- ref传参时出错
下面是一段正确的代码: //基类A public class A { public void SomeMethod(A a) { } } //派生类B public class B:A { } //在 ...
- 安卓手机内外SD卡互换
相信有許多人....有內置sd太小...外置sd(sdcard2或extsd)卻只能放資料.... 一些遊戲或者是影音播放軟體....根本不會去讀外置sd(sdcard2或extsd)..... 記憶 ...
- java操作csv文件之javacsv.jar应用
csv文件是分隔文件,如果使用java的io流来写,比较麻烦,这里为大家提供一个javacsv的jar包,这个很方便操作csv文件. 下载地址:https://pan.baidu.com/s/1i46 ...
- libthrift0.9.0解析(一)之TServer
TServer 属性serverTransport 为TServerTransport类型,类图如下: 构造函数,简单根据args设置几个成员,大部分是工厂类: protected TServer(A ...
- 【C++学习之路】派生类的构造函数(三)
三.多层继承的派生类 1.多层继承的派生类只需在构造函数的初始化列表中写出直接基类的构造函数即可 class student { public: student(int n, string nam) ...
- hdu1233(最小生成树)
Problem Description 某省调查乡村交通状况,得到的统计表中列出了任意两村庄间的距离.省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能 ...
- JavaScript escape() 函数
JavaScript escape() 函数 JavaScript 全局对象 定义和用法 escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串. 语法 escape(str ...
- 1.2 Coin 项目
自2009年起,Coin便是Java 7(和Java 8)中一个开源的子项目.创建Coin项目是为了反映Java语言中的微小变动: 修改Java语言,按不同的修改方式及其复杂度依次分为:类库.工具提供 ...