开源 企业版 高校版 私有云 模力方舟 AI 队友
代码拉取完成,页面将自动刷新
捐赠
捐赠前请先登录
扫描微信二维码支付
取消
支付完成
支付提示
将跳转至支付宝完成支付
确定
取消
1 Star 0 Fork 0

企鹅仔仔/Official network

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
已有帐号? 立即登录
文件
master
分支 (1)
master
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
项目仓库所选许可证以仓库主分支所使用许可证为准
master
分支 (1)
master
克隆/下载
克隆/下载
提示
下载代码请复制以下命令到终端执行
为确保你提交的代码身份被 Gitee 正确识别,请执行以下命令完成配置
初次使用 SSH 协议进行代码克隆、推送等操作时,需按下述提示完成 SSH 配置
1 生成 RSA 密钥
2 获取 RSA 公钥内容,并配置到 SSH公钥
在 Gitee 上使用 SVN,请访问 使用指南
使用 HTTPS 协议时,命令行会出现如下账号密码验证步骤。基于安全考虑,Gitee 建议 配置并使用私人令牌 替代登录密码进行克隆、推送等操作
Username for 'https://gitee.com': userName
Password for 'https://userName@gitee.com': # 私人令牌
master
分支 (1)
master
waves.js 9.86 KB
一键复制 编辑 原始数据 按行查看 历史
企鹅仔仔 提交于 2018年05月17日 14:42 +08:00 . bootstrap官网静态页面第一次上传
//通用waves线条动画
$(function() {
function a() {
var a = $(window).width(),
b = (768 - a) / 768 + 1,
c = 1;
fmhPara = $(".feature-mi").height() < 641 || $(".feature-ai").height() < 641 || $(".feature-bi").height() < 641 ? 0 : 1, 768 > a ? ($(".mi-headline-bg").css("height", $(".feature-mi").height() + 28 * b * c + "px"), $(".ai-headline-bg").css("height", $(".feature-ai").height() + 28 * b * c + "px"), $(".bi-headline-bg").css("height", $(".feature-bi").height() + 28 * b * c + "px"), $(".ee-headline-bg").css("height", $(".feature-ee").height() + parseInt($(".feature-ee").css("padding-top")) + 20 * b + "px")) : ($(".mi-headline-bg").removeAttr("style"), $(".ai-headline-bg").removeAttr("style"), $(".bi-headline-bg").removeAttr("style"), $(".ee-headline-bg").removeAttr("style"))
}
setTimeout(function() {
a()
}, 100), $(window).resize(function() {
a()
})
}),
function(a, b) {
"use strict";
"function" == typeof define && "object" == typeof define.amd ? define([], function() {
return b(a)
}) : a.SineWaves = b(a)
}(this, function() {
"use strict";
function a(a) {
if(this.options = i.defaults(this.options, a), this.el = this.options.el, delete this.options.el, !this.el) return false; //throw "No Canvas Selected";刘明排错注销
if(this.ctx = this.el.getContext("2d"), this.waves = this.options.waves, delete this.options.waves, !this.waves || !this.waves.length) throw "No waves specified";
this.dpr = window.devicePixelRatio || 1, this.updateDimensions(), window.addEventListener("resize", this.updateDimensions.bind(this)), this.setupUserFunctions(), this.easeFn = i.getFn(n, this.options.ease, "linear"), this.rotation = i.degreesToRadians(this.options.rotate), i.isType(this.options.running, "boolean") && (this.running = this.options.running), this.setupWaveFns(), this.loop()
}
function b(a, b) {
return i.isType(a, "number") ? a : (a = a.toString(), a.indexOf("%") > -1 ? (a = parseFloat(a), a > 1 && (a /= 100), b * a) : a.indexOf("px") > -1 ? parseInt(a, 10) : void 0)
}
Function.prototype.bind || (Function.prototype.bind = function(a) {
if("function" != typeof this) throw new TypeError("Function.prototype.bind - what is trying to be bound is not callable");
var b = Array.prototype.slice.call(arguments, 1),
c = this,
d = function() {},
e = function() {
return c.apply(this instanceof d && a ? this : a, b.concat(Array.prototype.slice.call(arguments)))
};
return d.prototype = this.prototype, e.prototype = new d, e
});
for(var c = ["ms", "moz", "webkit", "o"], d = 0; d < c.length && !window.requestAnimationFrame; ++d) window.requestAnimationFrame = window[c[d] + "RequestAnimationFrame"], window.cancelAnimationFrame = window[c[d] + "CancelAnimationFrame"] || window[c[d] + "CancelRequestAnimationFrame"];
if(!window.requestAnimationFrame) {
var e = 0;
window.requestAnimationFrame = function(a) {
var b = (new Date).getTime(),
c = Math.max(0, 16 - (b - e)),
d = window.setTimeout(function() {
a(b + c)
}, c);
return e = b + c, d
}
}
window.cancelAnimationFrame || (window.cancelAnimationFrame = function(a) {
clearTimeout(a)
});
var f = Math.PI / 180,
//原来的值为g=2 * Math.PI 用于修正sineinout右边的正弦值
g = 2.6 * Math.PI,
h = Math.PI / 2,
i = {},
j = i.isType = function(a, b) {
var c = {}.toString.call(a).toLowerCase();
return c === "[object " + b.toLowerCase() + "]"
},
k = i.isFunction = function(a) {
return j(a, "function")
},
l = i.isString = function(a) {
return j(a, "string")
},
m = (i.isNumber = function(a) {
return j(a, "number")
}, i.shallowClone = function(a) {
var b = {};
for(var c in a) a.hasOwnProperty(c) && (b[c] = a[c]);
return b
}),
n = (i.defaults = function(a, b) {
j(b, "object") || (b = {});
var c = m(a);
for(var d in b) b.hasOwnProperty(d) && (c[d] = b[d]);
return c
}, i.degreesToRadians = function(a) {
if(!j(a, "number")) throw new TypeError("Degrees is not a number");
return a * f
}, i.getFn = function(a, b, c) {
return k(b) ? b : l(b) && k(a[b.toLowerCase()]) ? a[b.toLowerCase()] : a[c]
}, {});
n.linear = function(a, b) {
return b
}, n.sinein = function(a, b) {
return b * (Math.sin(a * Math.PI - h) + 1) * .5
}, n.sineout = function(a, b) {
return b * (Math.sin(a * Math.PI + h) + 1) * .5
}, n.sineinout = function(a, b) {
return b * (Math.sin(a * g - h) + 1) * .5
};
var o = {};
o.sine = function(a) {
return Math.sin(a)
}, o.sin = o.sine, o.sign = function(a) {
return a = +a, 0 === a || isNaN(a) ? a : a > 0 ? 1 : -1
}, o.square = function(a) {
return o.sign(Math.sin(a * g))
}, o.sawtooth = function(a) {
return 2 * (a - Math.floor(a + .5))
}, o.triangle = function(a) {
return Math.abs(o.sawtooth(a))
}, a.prototype.options = {
speed: 10,
rotate: 0,
ease: "Linear",
wavesWidth: "95%"
}, a.prototype.setupWaveFns = function() {
for(var a = -1, b = this.waves.length; ++a < b;) this.waves[a].waveFn = i.getFn(o, this.waves[a].type, "sine")
}, a.prototype.setupUserFunctions = function() {
i.isFunction(this.options.resizeEvent) && (this.options.resizeEvent.call(this), window.addEventListener("resize", this.options.resizeEvent.bind(this))), i.isFunction(this.options.initialize) && this.options.initialize.call(this)
};
var p = {
timeModifier: 1,
amplitude: 50,
wavelength: 50,
segmentLength: 10,
lineWidth: 1,
strokeStyle: "rgba(255, 255, 255, 0.2)",
type: "Sine"
};
return a.prototype.getDimension = function(a) {
return i.isNumber(this.options[a]) ? this.options[a] : i.isFunction(this.options[a]) ? this.options[a].call(this, this.el) : "width" === a ? this.el.clientWidth : "height" === a ? this.el.clientHeight : void 0
}, a.prototype.updateDimensions = function() {
var a = this.getDimension("width"),
c = this.getDimension("height");
this.width = this.el.width = a * this.dpr, this.height = this.el.height = c * this.dpr, this.el.style.width = a + "px", this.el.style.height = c + "px", this.waveWidth = b(this.options.wavesWidth, this.width), this.waveLeft = (this.width - this.waveWidth) / 2, this.yAxis = this.height / 2
}, a.prototype.clear = function() {
this.ctx.clearRect(0, 0, this.width, this.height)
}, a.prototype.time = 0, a.prototype.update = function(a) {
this.time = this.time - .007, "undefined" == typeof a && (a = this.time);
var b = -1,
c = this.waves.length;
for(this.clear(), this.ctx.save(), this.rotation > 0 && (this.ctx.translate(this.width / 2, this.height / 2), this.ctx.rotate(this.rotation), this.ctx.translate(-this.width / 2, -this.height / 2)); ++b < c;) {
var d = this.waves[b].timeModifier || 1;
this.drawWave(a * d, this.waves[b])
}
this.ctx.restore(), b = void 0, c = void 0
}, a.prototype.getPoint = function(a, b, c) {
var d = a * this.options.speed + (-this.yAxis + b) / c.wavelength,
e = c.waveFn.call(this, d, o),
f = this.easeFn.call(this, b / this.waveWidth, c.amplitude);
return d = b + this.waveLeft, e = f * e + this.yAxis, {
x: d,
y: e
}
}, a.prototype.drawWave = function(a, b) {
b = i.defaults(p, b), this.ctx.lineWidth = b.lineWidth * this.dpr, this.ctx.strokeStyle = b.strokeStyle, this.ctx.lineCap = "butt", this.ctx.lineJoin = "round", this.ctx.beginPath(), this.ctx.moveTo(0, this.yAxis), this.ctx.lineTo(this.waveLeft, this.yAxis);
var c, d;
for(c = 0; c < this.waveWidth; c += b.segmentLength) d = this.getPoint(a, c, b), this.ctx.lineTo(d.x, d.y), d = void 0;
c = void 0, b = void 0, this.ctx.lineTo(this.width, this.yAxis), this.ctx.stroke()
}, a.prototype.running = !0, a.prototype.loop = function() {
this.running === !0 && this.update(), window.requestAnimationFrame(this.loop.bind(this))
}, a.prototype.Waves = o, a.prototype.Ease = n, a
}), $(function() {
var a = new SineWaves({
el: document.getElementById("waves"),
//设置正弦波速度 刘明注释
speed: 4,
width: function() {
var a = $(document).width();
//原来的值, 设置正弦波的宽度, 现在设置为与元素同宽
//return 768 > a ? 3 * $("#waves").parent().width() : 1.4 * $("#waves").parent().width()
return 1.4 * $("#waves").parent().width()
},
height: function() {
return $("#waves").parent().height()
},
//原来的值, 可以正弦波宽度, 居中, 两边超出部分隐藏
//wavesWidth: "100%",
wavesWidth: "130%", //150
ease: "SineInOut",
waves: [{
timeModifier: .5,
lineWidth: 2,
amplitude: 150,
wavelength: 200,
segmentLength: 1
}, {
timeModifier: .5,
lineWidth: 2,
amplitude: 100,
wavelength: 150,
segmentLength: 1
}, {
timeModifier: .5,
lineWidth: 2,
amplitude: 50,
wavelength: 80,
segmentLength: 1
}],
initialize: function() {},
resizeEvent: function() {
var a = this.ctx.createLinearGradient(0, 0, this.width, 0);
//原来的值, 设置线条渐变透明度, 以及开始激变的位置
//a.addColorStop(0, "rgba(255, 255, 255, 0)"), a.addColorStop(.5, "rgba(255, 255, 255, 0.2)"), a.addColorStop(1, "rgba(255, 255, 255, 0)");
a.addColorStop(0, "rgba(255, 255, 255, 0)"), a.addColorStop(.1, "rgba(255, 255, 255, 0.2)"), a.addColorStop(1, "rgba(255, 255, 255, 0)");
for(var b = -1, c = this.waves.length; ++b < c;) this.waves[b].strokeStyle = a;
b = void 0, c = void 0, a = void 0
}
}),
b = $("#waves"),
c = $(document).scrollTop(),
d = $(document).scrollTop() + $(window).height(),
e = b.offset().top + b.height(),
f = b.offset().top;
(c > e || f > d) && (a.running = !1, a.update()), $(window).bind("scroll", function() {
c = $(document).scrollTop(), d = $(document).scrollTop() + $(window).height(), e = b.offset().top + b.height(), f = b.offset().top, c > e || f > d ? (a.running = !1, a.update()) : (a.running = !0, a.update())
})
});
Loading...
举报
举报成功
我们将于2个工作日内通过站内信反馈结果给你!
请认真填写举报原因,尽可能描述详细。
请选择举报类型
取消
发送
误判申诉

此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。

如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。

取消
提交

简介

取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
编辑仓库简介
简介内容
主页
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/httpsmoran/Official-network.git
git@gitee.com:httpsmoran/Official-network.git
httpsmoran
Official-network
Official network
master
点此查找更多帮助

搜索帮助

评论
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册

AltStyle によって変換されたページ (->オリジナル) /