分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 前端开发

H5游戏awardRoutate.js

发布时间:2023-09-06 02:24责任编辑:彭小芳关键词:js
!function ($) {
???for (var supportedCSS, styles = document.getElementsByTagName("head")[0].style, toCheck = "transformProperty WebkitTransform OTransform msTransform MozTransform".split(" "), a = 0; a < toCheck.length; a++) void 0 !== styles[toCheck[a]] && (supportedCSS = toCheck[a])
???var IE = eval(‘"v"=="\x0B"‘)
???jQuery.fn.extend({
???????rotate: function (t) {
???????????if (0 !== this.length && void 0 !== t) {
???????????????"number" == typeof t && (t = {angle: t})
???????????????for (var i = [], e = 0, s = this.length; s > e; e++) {
???????????????????var h = this.get(e)
???????????????????if (h.Wilq32 && h.Wilq32.PhotoEffect) h.Wilq32.PhotoEffect._handleRotation(t)
???????????????????else {
???????????????????????var a = $.extend(!0, {}, t), n = new Wilq32.PhotoEffect(h, a)._rootObj
???????????????????????i.push($(n))
???????????????????}
???????????????}
???????????????return i
???????????}
???????}, getRotateAngle: function () {
???????????for (var t = [], i = 0, e = this.length; e > i; i++) {
???????????????var s = this.get(i)
???????????????s.Wilq32 && s.Wilq32.PhotoEffect && (t[i] = s.Wilq32.PhotoEffect._angle)
???????????}
???????????return t
???????}, stopRotate: function () {
???????????for (var t = 0, i = this.length; i > t; t++) {
???????????????var e = this.get(t)
???????????????e.Wilq32 && e.Wilq32.PhotoEffect && clearTimeout(e.Wilq32.PhotoEffect._timer)
???????????}
???????}
???}), Wilq32 = window.Wilq32 || {}, Wilq32.PhotoEffect = function () {
???????return supportedCSS ? function (t, i) {
???????????t.Wilq32 = {PhotoEffect: this}, this._img = this._rootObj = this._eventObj = t, this._handleRotation(i)
???????} : function (t, i) {
???????????if (this._img = t, this._rootObj = document.createElement("span"), this._rootObj.style.display = "inline-block", this._rootObj.Wilq32 = {PhotoEffect: this}, t.parentNode.insertBefore(this._rootObj, t), t.complete) this._Loader(i)
???????????else {
???????????????var e = this
???????????????jQuery(this._img).bind("load", function () {
???????????????????e._Loader(i)
???????????????})
???????????}
???????}
???}(), Wilq32.PhotoEffect.prototype = {
???????_setupParameters: function (t) {
???????????this._parameters = this._parameters || {}, "number" != typeof this._angle && (this._angle = 0), "number" == typeof t.angle && (this._angle = t.angle), this._parameters.animateTo = "number" == typeof t.animateTo ? t.animateTo : this._angle, this._parameters.step = t.step || this._parameters.step || null, this._parameters.easing = t.easing || this._parameters.easing || function (t, i, e, s, h) {
???????????????return -s * ((i = i / h - 1) * i * i * i - 1) + e
???????????}, this._parameters.duration = t.duration || this._parameters.duration || 1e3, this._parameters.callback = t.callback || this._parameters.callback || function () {
???????????}, t.bind && t.bind != this._parameters.bind && this._BindEvents(t.bind)
???????}, _handleRotation: function (t) {
???????????this._setupParameters(t), this._angle == this._parameters.animateTo ? this._rotate(this._angle) : this._animateStart()
???????}, _BindEvents: function (t) {
???????????if (t && this._eventObj) {
???????????????if (this._parameters.bind) {
???????????????????var i = this._parameters.bind
???????????????????for (var e in i) i.hasOwnProperty(e) && jQuery(this._eventObj).unbind(e, i[e])
???????????????}
???????????????this._parameters.bind = t
???????????????for (var e in t) t.hasOwnProperty(e) && jQuery(this._eventObj).bind(e, t[e])
???????????}
???????}, _Loader: function () {
???????????return IE ? function (t) {
???????????????var i = this._img.width, e = this._img.height
???????????????this._img.parentNode.removeChild(this._img), this._vimage = this.createVMLNode("image"), this._vimage.src = this._img.src, this._vimage.style.height = e + "px", this._vimage.style.width = i + "px", this._vimage.style.position = "absolute", this._vimage.style.top = "0px", this._vimage.style.left = "0px", this._container = this.createVMLNode("group"), this._container.style.width = i, this._container.style.height = e, this._container.style.position = "absolute", this._container.setAttribute("coordsize", i - 1 + "," + (e - 1)), this._container.appendChild(this._vimage), this._rootObj.appendChild(this._container), this._rootObj.style.position = "relative", this._rootObj.style.width = i + "px", this._rootObj.style.height = e + "px", this._rootObj.setAttribute("id", this._img.getAttribute("id")), this._rootObj.className = this._img.className, this._eventObj = this._rootObj, this._handleRotation(t)
???????????} : function (t) {
???????????????this._rootObj.setAttribute("id", this._img.getAttribute("id")), this._rootObj.className = this._img.className, this._width = this._img.width, this._height = this._img.height, this._widthHalf = this._width / 2, this._heightHalf = this._height / 2
???????????????var i = Math.sqrt(this._height * this._height + this._width * this._width)
???????????????this._widthAdd = i - this._width, this._heightAdd = i - this._height, this._widthAddHalf = this._widthAdd / 2, this._heightAddHalf = this._heightAdd / 2, this._img.parentNode.removeChild(this._img), this._aspectW = (parseInt(this._img.style.width, 10) || this._width) / this._img.width, this._aspectH = (parseInt(this._img.style.height, 10) || this._height) / this._img.height, this._canvas = document.createElement("canvas"), this._canvas.setAttribute("width", this._width), this._canvas.style.position = "relative", this._canvas.style.left = -this._widthAddHalf + "px", this._canvas.style.top = -this._heightAddHalf + "px", this._canvas.Wilq32 = this._rootObj.Wilq32, this._rootObj.appendChild(this._canvas), this._rootObj.style.width = this._width + "px", this._rootObj.style.height = this._height + "px", this._eventObj = this._canvas, this._cnv = this._canvas.getContext("2d"), this._handleRotation(t)
???????????}
???????}(), _animateStart: function () {
???????????this._timer && clearTimeout(this._timer), this._animateStartTime = +new Date, this._animateStartAngle = this._angle, this._animate()
???????}, _animate: function () {
???????????var t = +new Date, i = t - this._animateStartTime > this._parameters.duration
???????????if (i && !this._parameters.animatedGif) clearTimeout(this._timer)
???????????else {
???????????????if (this._canvas || this._vimage || this._img) {
???????????????????var e = this._parameters.easing(0, t - this._animateStartTime, this._animateStartAngle, this._parameters.animateTo - this._animateStartAngle, this._parameters.duration)
???????????????????this._rotate(~~(10 * e) / 10)
???????????????}
???????????????this._parameters.step && this._parameters.step(this._angle)
???????????????var s = this
???????????????this._timer = setTimeout(function () {
???????????????????s._animate.call(s)
???????????????}, 10)
???????????}
???????????this._parameters.callback && i && (this._angle = this._parameters.animateTo, this._rotate(this._angle), this._parameters.callback.call(this._rootObj))
???????}, _rotate: function () {
???????????var t = Math.PI / 180
???????????return IE ? function (t) {
???????????????this._angle = t, this._container.style.rotation = t % 360 + "deg"
???????????} : supportedCSS ? function (t) {
???????????????this._angle = t, this._img.style[supportedCSS] = "rotate(" + t % 360 + "deg)"
???????????} : function (i) {
???????????????this._angle = i, i = i % 360 * t, this._canvas.width = this._width + this._widthAdd, this._canvas.height = this._height + this._heightAdd, this._cnv.translate(this._widthAddHalf, this._heightAddHalf), this._cnv.translate(this._widthHalf, this._heightHalf), this._cnv.rotate(i), this._cnv.translate(-this._widthHalf, -this._heightHalf), this._cnv.scale(this._aspectW, this._aspectH), this._cnv.drawImage(this._img, 0, 0)
???????????}
???????}()
???}, IE && (Wilq32.PhotoEffect.prototype.createVMLNode = function () {
???????document.createStyleSheet().addRule(".rvml", "behavior:url(#default#VML)")
???????try {
???????????return !document.namespaces.rvml && document.namespaces.add("rvml", "urn:schemas-microsoft-com:vml"), function (t) {
???????????????return document.createElement("<rvml:" + t + ‘ class="rvml">‘)
???????????}
???????} catch (t) {
???????????return function (t) {
???????????????return document.createElement("<" + t + ‘ xmlns="urn:schemas-microsoft.com:vml" class="rvml">‘)
???????????}
???????}
???}())
}(jQuery)

H5游戏awardRoutate.js

原文地址:https://www.cnblogs.com/shenbo666/p/10045600.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved