广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >HTML5实现QQ登录的示例分析
  • 879
分享到

HTML5实现QQ登录的示例分析

2024-04-02 19:04:59 879人浏览 独家记忆
摘要

这篇文章主要介绍了HTML5实现QQ登录的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。<!DOCTYPE html

这篇文章主要介绍了HTML5实现QQ登录的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

<!DOCTYPE html> 
<head>
    <meta Http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>html5背景</title>
    
    <style type="text/CSS">
    *{margin:0;padding:0;list-style-type:none;}
    a,img{border:0;}
    </style>
    <script type="text/javascript" src="http://code.Jquery.com/jquery-1.8.3.min.js"></script>
</head>
<body>
<div id="container" style="width:100%;height:700px;">
    <div id="anitOut"></div>
</div>
<script type="text/javascript">
$(function () {
    if (!window.ActiveXObject && !!document.createElement("canvas").getContext) {
        $.getScript("http://im-img.qq.com/pcqq/js/200/cav.js?_=1428576021379",
                function () {
                    var t = {
                        width: 1.5,
                        height: 1.5,
                        depth: 10,
                        segments: 12,
                        slices: 6,
                        xRange: 0.8,
                        yRange: 0.1,
                        zRange: 1,
                        ambient: "#525252",
                        diffuse: "#FFFFFF",
                        speed: 0.0002
                    };
                    var G = {
                        count: 2,
                        xyScalar: 1,
                        zOffset: 100,
                        ambient: "#002c4a",
                        diffuse: "#005584",
                        speed: 0.001,
                        gravity: 1200,
                        dampening: 0.95,
                        minLimit: 10,
                        maxLimit: null,
                        minDistance: 20,
                        maxDistance: 400,
                        autopilot: false,
                        draw: false,
                        bounds: CAV.Vector3.create(),
                        step: CAV.Vector3.create(Math.randomInRange(0.2, 1), Math.randomInRange(0.2, 1), Math.randomInRange(0.2, 1))
                    };
                    var m = "canvas";
                    var E = "svg";
                    var x = {
                        renderer: m
                    };
                    var i, n = Date.now();
                    var L = CAV.Vector3.create();
                    var k = CAV.Vector3.create();
                    var z = document.getElementById("container");
                    var w = document.getElementById("anitOut");
                    var D, I, h, q, y;
                    var g;
                    var r;

                    function C() {
                        F();
                        p();
                        s();
                        B();
                        v();
                        K(z.offsetWidth, z.offsetHeight);
                        o()
                    }

                    function F() {
                        g = new CAV.CanvasRenderer();
                        H(x.renderer)
                    }

                    function H(N) {
                        if (D) {
                            w.removeChild(D.element)
                        }
                        switch (N) {
                            case m:
                                D = g;
                                break
                        }
                        D.setSize(z.offsetWidth, z.offsetHeight);
                        w.appendChild(D.element)
                    }

                    function p() {
                        I = new CAV.Scene()
                    }

                    function s() {
                        I.remove(h);
                        D.clear();
                        q = new CAV.Plane(t.width * D.width, t.height * D.height, t.segments, t.slices);
                        y = new CAV.Material(t.ambient, t.diffuse);
                        h = new CAV.Mesh(q, y);
                        I.add(h);
                        var N, O;
                        for (N = q.vertices.length - 1; N >= 0; N--) {
                            O = q.vertices[N];
                            O.anchor = CAV.Vector3.clone(O.position);
                            O.step = CAV.Vector3.create(Math.randomInRange(0.2, 1), Math.randomInRange(0.2, 1), Math.randomInRange(0.2, 1));
                            O.time = Math.randomInRange(0, Math.PIM2)
                        }
                    }

                    function B() {
                        var O, N;
                        for (O = I.lights.length - 1; O >= 0; O--) {
                            N = I.lights[O];
                            I.remove(N)
                        }
                        D.clear();
                        for (O = 0; O < G.count; O++) {
                            N = new CAV.Light(G.ambient, G.diffuse);
                            N.ambientHex = N.ambient.fORMat();
                            N.diffuseHex = N.diffuse.format();
                            I.add(N);
                            N.mass = Math.randomInRange(0.5, 1);
                            N.velocity = CAV.Vector3.create();
                            N.acceleration = CAV.Vector3.create();
                            N.force = CAV.Vector3.create()
                        }
                    }

                    function K(O, N) {
                        D.setSize(O, N);
                        CAV.Vector3.set(L, D.halfWidth, D.halfHeight);
                        s()
                    }

                    function o() {
                        i = Date.now() - n;
                        u();
                        M();
                        requestAnimationFrame(o)
                    }

                    function u() {
                        var Q, P, O, R, T, V, U, S = t.depth / 2;
                        CAV.Vector3.copy(G.bounds, L);
                        CAV.Vector3.multiplyScalar(G.bounds, G.xyScalar);
                        CAV.Vector3.setZ(k, G.zOffset);
                        for (R = I.lights.length - 1; R >= 0; R--) {
                            T = I.lights[R];
                            CAV.Vector3.setZ(T.position, G.zOffset);
                            var N = Math.clamp(CAV.Vector3.distanceSquared(T.position, k), G.minDistance, G.maxDistance);
                            var W = G.gravity * T.mass / N;
                            CAV.Vector3.subtractVectors(T.force, k, T.position);
                            CAV.Vector3.normalise(T.force);
                            CAV.Vector3.multiplyScalar(T.force, W);
                            CAV.Vector3.set(T.acceleration);
                            CAV.Vector3.add(T.acceleration, T.force);
                            CAV.Vector3.add(T.velocity, T.acceleration);
                            CAV.Vector3.multiplyScalar(T.velocity, G.dampening);
                            CAV.Vector3.limit(T.velocity, G.minLimit, G.maxLimit);
                            CAV.Vector3.add(T.position, T.velocity)
                        }
                        for (V = q.vertices.length - 1; V >= 0; V--) {
                            U = q.vertices[V];
                            Q = Math.sin(U.time + U.step[0] * i * t.speed);
                            P = Math.cos(U.time + U.step[1] * i * t.speed);
                            O = Math.sin(U.time + U.step[2] * i * t.speed);
                            CAV.Vector3.set(U.position, t.xRange * q.segmentWidth * Q, t.yRange * q.sliceHeight * P, t.zRange * S * O - S);
                            CAV.Vector3.add(U.position, U.anchor)
                        }
                        q.dirty = true
                    }

                    function M() {
                        D.render(I)
                    }

                    function J(O) {
                        var Q, N, S = O;
                        var P = function (T) {
                            for (Q = 0, l = I.lights.length; Q < l; Q++) {
                                N = I.lights[Q];
                                N.ambient.set(T);
                                N.ambientHex = N.ambient.format()
                            }
                        };
                        var R = function (T) {
                            for (Q = 0, l = I.lights.length; Q < l; Q++) {
                                N = I.lights[Q];
                                N.diffuse.set(T);
                                N.diffuseHex = N.diffuse.format()
                            }
                        };
                        return {
                            set: function () {
                                P(S[0]);
                                R(S[1])
                            }
                        }
                    }

                    function v() {
                        window.addEventListener("resize", j)
                    }

                    function A(N) {
                        CAV.Vector3.set(k, N.x, D.height - N.y);
                        CAV.Vector3.subtract(k, L)
                    }

                    function j(N) {
                        K(z.offsetWidth, z.offsetHeight);
                        M()
                    }

                    C();
                })
    } else {
        alert('调用cav.js失败');
    }
});
</script>
</body>
</html>

感谢你能够认真阅读完这篇文章,希望小编分享的“HTML5实现QQ登录的示例分析”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网JavaScript频道,更多相关知识等着你来学习!

--结束END--

本文标题: HTML5实现QQ登录的示例分析

本文链接: https://www.lsjlt.com/news/81568.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • HTML5实现QQ登录的示例分析
    这篇文章主要介绍了HTML5实现QQ登录的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。<!DOCTYPE html...
    99+
    2022-10-19
  • HTML5录音的示例分析
    这篇文章主要介绍了HTML5录音的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。开篇闲扯前一段时间的一个案子是开发一个有声课件,大致...
    99+
    2022-10-19
  • Web登录实例分析
    本文小编为大家详细介绍“Web登录实例分析”,内容详细,步骤清晰,细节处理妥当,希望这篇“Web登录实例分析”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。 正文 1. 一个简...
    99+
    2022-10-19
  • 基于Java实现QQ登录注册功能的示例代码
    目录前言实现代码登录页面注册页面效果展示前言 本文主要应用的技术有:GUI、JDBC、多线程 实现的功能具体如下: 1、登录功能 2、注册功能 3、是否隐藏密码的选择以及实现功能 4...
    99+
    2022-11-13
  • vue中登录注册的示例分析
    这篇文章主要介绍了vue中登录注册的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。步骤一1.安装脚手架:npm install vu...
    99+
    2022-10-19
  • Vue实战之vue登录验证的示例分析
    这篇文章主要为大家展示了“Vue实战之vue登录验证的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Vue实战之vue登录验证的示例分析”这篇文章吧。使...
    99+
    2022-10-19
  • web实现页面录屏的示例分析
    小编给大家分享一下web实现页面录屏的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!录屏重现错误场景如果你的应用有接入到web apm系统中,那么你可能就...
    99+
    2023-06-09
  • html5的section示例分析
    这篇文章主要介绍“html5的section示例分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“html5的section示例分析”文章能帮助大家解决问题。 ...
    99+
    2022-10-19
  • git多账号登录问题的示例分析
    这篇文章给大家分享的是有关git多账号登录问题的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。同一服务器,同一托管平台,多个账号问题1、添加key我们暂且以oschina为例。为了更好的说明问题,我们在o...
    99+
    2023-06-09
  • 微信扫码登录原理的示例分析
    小编给大家分享一下微信扫码登录原理的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!微信扫码登录原理解析扫码登录是现在流行...
    99+
    2022-10-19
  • vue中微信授权登录的示例分析
    这篇文章主要介绍了vue中微信授权登录的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。背景vue前后端分离开发微信授权场景app将商...
    99+
    2022-10-19
  • Python Flask基础登录功能的示例分析
    这篇文章主要介绍了Python Flask基础登录功能的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。0x01路由from flask ...
    99+
    2023-06-15
  • Android第三方登录之腾讯QQ登录的实例代码
    布局文件<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="登录成功" androi...
    99+
    2023-05-31
    android 第三方登录
  • Python免登录实现域名解析的示例详解
    目录如何获得域名解析信息获取Token目标实现修改记录写此篇文章,我花10块购买了域名ssw.ski。 目的是编写python脚本,通过dnspod api获取个人域名内的dns解析...
    99+
    2023-03-09
    Python实现域名解析 Python域名解析 Python域名
  • shell脚本无密码登录expect的示例分析
    小编给大家分享一下shell脚本无密码登录expect的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、单独写一个脚本如 auto_scp.sh:#!/...
    99+
    2023-06-09
  • 微信小程序登录对接Django后端实现JWT方式验证登录的示例分析
    这篇文章将为大家详细讲解有关微信小程序登录对接Django后端实现JWT方式验证登录的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。先上效果图点击授权按钮后可以显...
    99+
    2022-10-19
  • HTML5标签的示例分析
    这篇文章给大家分享的是有关HTML5标签的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。可以进行省略的标签不允许写结束标记的标签:area(定义图像映射中的区域)、bas...
    99+
    2022-10-19
  • Html5中meta的示例分析
    这篇文章主要为大家展示了“Html5中meta的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Html5中meta的示例分析”这篇文章吧。如下所示:&l...
    99+
    2022-10-19
  • html5定位的示例分析
    这篇文章主要为大家展示了“html5定位的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“html5定位的示例分析”这篇文章吧。   定位   pos...
    99+
    2022-10-19
  • html5页面的示例分析
    这篇文章将为大家详细讲解有关html5页面的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。内容 与之前的HTML4.01相比,HTML5增加了非常多的改变:①&n...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作