zoukankan      html  css  js  c++  java
  • js点击特效动画,小人动画

    1、鼠标点击显示各种表情文字
    onload = function() { var click_cnt = 0; var $html = document.getElementsByTagName("html")[0]; var $body = document.getElementsByTagName("body")[0]; $html.onclick = function(e) { var $elem = document.createElement("b"); $elem.style.color = "#E94F06"; $elem.style.zIndex = 9999; $elem.style.position = "absolute"; $elem.style.select = "none"; var x = e.pageX; var y = e.pageY; $elem.style.left = (x - 10) + "px"; $elem.style.top = (y - 20) + "px"; clearInterval(anim); switch (++click_cnt) { case 10: $elem.innerText = "OωO"; break; case 20: $elem.innerText = "(๑•́ ∀ •̀๑)"; break; case 30: $elem.innerText = "(๑•́ ₃ •̀๑)"; break; case 40: $elem.innerText = "(๑•̀_•́๑)"; break; case 50: $elem.innerText = "( ̄へ ̄)"; break; case 60: $elem.innerText = "(╯°口°)╯(┴—┴"; break; case 70: $elem.innerText = "૮( ᵒ̌皿ᵒ̌ )ა"; break; case 80: $elem.innerText = "╮(。>口<。)╭"; break; case 90: $elem.innerText = "( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃"; break; case 100: case 101: case 102: case 103: case 104: case 105: $elem.innerText = "(ꐦ°᷄д°᷅)"; break; default: $elem.innerText = "❤"; break; } $elem.style.fontSize = Math.random() * 10 + 8 + "px"; var increase = 0; var anim; setTimeout(function() { anim = setInterval(function() { if (++increase == 150) { clearInterval(anim); $body.removeChild($elem); } $elem.style.top = y - 20 - increase + "px"; $elem.style.opacity = (150 - increase) / 120; }, 8); }, 70); $body.appendChild($elem); }; };

     2、鼠标点击烟花效果

    <script type="text/javascript">
            var fgm = {
                on: function (element, type, handler) {
                    return element.addEventListener ? element.addEventListener(type, handler, false) : element.attachEvent("on" + type, handler)
                },
                un: function (element, type, handler) {
                    return element.removeEventListener ? element.removeEventListener(type, handler, false) : element.detachEvent("on" + type, handler)
                },
                bind: function (object, handler) {
                    return function () {
                        return handler.apply(object, arguments)
                    }
                },
                randomRange: function (lower, upper) {//产生范围在lower~upper的随机数
                    return Math.floor(Math.random() * (upper - lower + 1) + lower)
                },
                getRanColor: function () {//随机获得十六进制颜色
                    var str = this.randomRange(0, 0xFFFFFF).toString(16);
                    while (str.length < 6) str = "0" + str;
                    return "#" + str
                }
            };
            //初始化对象
            function FireWorks() {
                this.type = 0;
                this.timer = null;
                this.fnManual = fgm.bind(this, this.manual)
            }
            FireWorks.prototype = {
                initialize: function () {
                    clearTimeout(this.timer);
                    fgm.un(document, "click", this.fnManual);
                    switch (this.type) {
                        case 1:
                            fgm.on(document, "click", this.fnManual);
                            break;
                    }
                    ;
                },
                manual: function (event) {
                    event = event || window.event;
                    this.__create__({
                        x: event.clientX,
                        y: event.clientY
                    });
                },
                __create__: function (param) {
                    //param即鼠标点击点(即烟花爆炸点)
                    var that = this;
                    var oChip = null;
                    var aChip = [];
                    var timer = null;
                    var oFrag = document.createDocumentFragment();
                    (function () {
                        //在50-100之间随机生成碎片
                        //由于IE浏览器处理效率低, 随机范围缩小至20-30
                        //自动放烟花时, 随机范围缩小至20-30
                        // var len = (/msie/i.test(navigator.userAgent) || that.type == 2) ? fgm.randomRange(20, 30) : fgm.randomRange(50, 100)
                        var len = (/msie/i.test(navigator.userAgent) || that.type == 2) ? fgm.randomRange(5, 10) : fgm.randomRange(10, 20)
                        //产生所有烟花爆炸颗粒实体
                        for (i = 0; i < len; i++) {
                            //烟花颗粒形态实体
                            oChip = document.createElement("div");
                            with (oChip.style) {
                                position = "absolute";
                                top = param.y + document.body.scrollTop + "px";
                                left = param.x + "px";
                                width = "4px";
                                height = "4px";
                                overflow = "hidden";
                                borderRadius = "4px";
                                background = fgm.getRanColor();
                            }
                            ;
                            oChip.speedX = fgm.randomRange(-10, 10);
                            oChip.speedY = fgm.randomRange(-10, 10);
                            oFrag.appendChild(oChip);
                            aChip[i] = oChip
                        }
                        ;
                        document.body.appendChild(oFrag);
                        timer = setInterval(function () {
                            for (i = 0; i < aChip.length; i++) {
                                var obj = aChip[i];
                                with (obj.style) {
                                    // top = obj.y + obj.speedY + "px";
                                    // console.log(document.body.scrollTop);
                                    // console.log(document.body.scrollHeight+"ww");
                                    // console.log(obj.offsetTop);
                                    top = obj.offsetTop + obj.speedY + "px";
                                    left = obj.offsetLeft + obj.speedX + "px";
                                }
                                ;
                                obj.speedY++;
                                //判断烟花爆炸颗粒是否掉落至窗体之外,为真则remove
                                //splice() 方法可删除从 index 处开始的零个或多个元素
                                (obj.offsetTop < 0 || obj.offsetLeft < 0 || obj.offsetTop > document.documentElement.clientHeight + document.body.scrollTop || obj.offsetLeft > document.documentElement.clientWidth) && (document.body.removeChild(obj), aChip.splice(i, 1))
                            }
                            ;
                            //判断烟花爆炸颗粒是否全部remove,为真则clearInterval(timer);
                            !aChip[0] && clearInterval(timer);
                        }, 30)
                    })();
                }
            };
    
            fgm.on(window, "load", function () {
                var oFireWorks = new FireWorks();
                oFireWorks.type = 1;
                oFireWorks.initialize();
            });
    
            fgm.on(document, "contextmenu", function (event) {
                var oEvent = event || window.event;
                oEvent.preventDefault ? oEvent.preventDefault() : oEvent.returnValue = false
            });
        </script>


    /*右侧滑动小人*/
    .spig {display:block;156px;height:270px;position:absolute;bottom: 300px;left:180px;z-index:9999;}
    #message{color :#191919;border: 1px solid #c4c4c4;background:#ddd;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;min-height:1em;padding:5px;top:-45px;position:absolute;text-align:center;auto !important;z-index:10000;-moz-box-shadow:0 0 15px #eeeeee;-webkit-box-shadow:0 0 15px #eeeeee;border-color:#eeeeee;box-shadow:0 0 15px #eeeeee;outline:none;font-size:0.8rem}
    .mumu{9.75rem;height:15.46rem;cursor: move;background:url(https://blog-static.cnblogs.com/files/ggymx/gril.gif) no-repeat;background-size:100% 100%}

    
    

    <!--博客精灵 start*-->
    <div id="spig" class="spig">
    <div id="message">……</div>
    <div id="mumu" class="mumu"></div>
    </div>




    var isindex=true; var title=""; var visitor="这位怪蜀黍"; //根据分辨率调整小人位置 var addHeight; if(window.screen.height=='1080'){ addHeight= 350; }else{ addHeight= 150; } //右键菜单 jQuery(document).ready(function ($) { $("#spig").mousedown(function (e) { if(e.which==3){ showMessage("秘密通道:<br /> <img src="http://pic.sc.chinaz.com/Files/pic/Listfaces/3646/02.gif"/><br/><a href="https://www.cnblogs.com/ggymx" title="放杨的猩猩">放杨的猩猩</a> ",10000); } }); $("#spig").bind("contextmenu", function(e) { return false; }); }); //鼠标在消息上时 jQuery(document).ready(function ($) { $("#message").hover(function () { $("#message").fadeTo("100", 1); }); }); //鼠标在上方时 jQuery(document).ready(function ($) { //$(".mumu").jrumble({rangeX: 2,rangeY: 2,rangeRot: 1}); $(".mumu").mouseover(function () { $(".mumu").fadeTo("300", 0.3); msgs = ["我隐身了,你看不到我", "我会隐身哦!嘿嘿!", "别动手动脚的,把手拿开!", "把手拿开我才出来!"]; var i = Math.floor(Math.random() * msgs.length); showMessage(msgs[i]); }); $(".mumu").mouseout(function () { $(".mumu").fadeTo("300", 1) }); }); //开始 jQuery(document).ready(function ($) { if (isindex) { //如果是主页 var now = (new Date()).getHours(); if (now > 0 && now <= 6) { showMessage(visitor + ' 你是夜猫子呀?还不睡觉,明天起的来么你?', 6000); } else if (now > 6 && now <= 11) { showMessage(visitor + ' 早上好,早起的鸟儿有虫吃噢!早起的虫儿被鸟吃,你是鸟儿还是虫儿?嘻嘻!', 6000); } else if (now > 11 && now <= 14) { showMessage(visitor + ' 中午了,吃饭了么?不要饿着了,饿死了谁来挺我呀!', 6000); } else if (now > 14 && now <= 18) { showMessage(visitor + ' 中午的时光真难熬!还好有你在!', 6000); } else { showMessage(visitor + ' 快来逗我玩吧!', 6000); } } else { showMessage('欢迎' + visitor + '来到《' + title + '》', 6000); } console.log('屏幕分辨率---------',window.screen.height) $(".spig").animate({ top:$(".spig").offset().top+addHeight, left: 100 }, { queue: false, duration: 1000 }); }); //鼠标在某些元素上方时 jQuery(document).ready(function ($) { $('h2 a').click(function () {//标题被点击时 showMessage('萌萌地加载《<span style="color:#0099cc;">' + $(this).text() + '</span>》中,请稍候'); }); $('h2 a').mouseover(function () { showMessage('要看看《<span style="color:#0099cc;">' + $(this).text() + '</span>》这篇随笔么?'); }); $('#prev-page').mouseover(function(){ showMessage('要翻到上一页吗?'); }); $('#next-page').mouseover(function(){ showMessage('要翻到下一页吗?'); }); $('#index-links li a').mouseover(function () { showMessage('去 <span style="color:#0099cc;">' + $(this).text() + '</span> 逛逛'); }); $('.tbCommentBodys').mouseover(function () { showMessage('<span style="color:#0099cc;">' + visitor + '</span> 向评论栏出发吧!'); }); $('#submit').mouseover(function () { showMessage('确认提交了么?'); }); $('#s').focus(function () { showMessage('输入你想搜索的关键词再按Enter(回车)键就可以搜索啦!'); }); $('#go-prev').mouseover(function () { showMessage('点它可以后退哦!'); }); $('#go-next').mouseover(function () { showMessage('点它可以前进哦!'); }); $('#refresh').mouseover(function () { showMessage('点它可以重新载入此页哦!'); }); $('#go-home').mouseover(function () { showMessage('点它就可以回到首页啦!'); }); $('#addfav').mouseover(function () { showMessage('点它可以把此页加入书签哦!'); }); $('#nav-two a').mouseover(function () { showMessage('嘘,从这里可以进入控制面板的哦!'); }); $('.post-category a').mouseover(function () { showMessage('点击查看此分类下得所有文章'); }); $('.post-heat a').mouseover(function () { showMessage('点它可以直接跳到评论列表处.'); }); $('#tho-shareto span a').mouseover(function () { showMessage('你知道吗?点它可以分享本文到'+$(this).attr('title')); }); $('#switch-to-wap').mouseover(function(){ showMessage('点击可以切换到手机版博客版面'); }); }); //无聊讲点什么 jQuery(document).ready(function ($) { window.setInterval(function () { msgs = [ "陪我聊天吧!", "好无聊哦,你都不陪我玩!", "…@……!………", "^%#&*!@*(&#)(!)(", "我可爱吧!嘻嘻!~^_^!~~","谁淫荡呀?~谁淫荡?,你淫荡呀!~~你淫荡!~~","从前有座山,山上有座庙,庙里有个老和尚给小和尚讲故事,讲:“从前有座……”"]; var i = Math.floor(Math.random() * msgs.length); showMessage(msgs[i], 8000); }, 15000); }); //评论资料 jQuery(document).ready(function ($) { $("#author").click(function () { showMessage("留下你的尊姓大名!"); $(".spig").animate({ top: $("#author").offset().top - 70, left: $("#author").offset().left - 170 }, { queue: false, duration: 1000 }); }); $("#email").click(function () { showMessage("留下你的邮箱,不然就是无头像人士了!"); $(".spig").animate({ top: $("#email").offset().top - 70, left: $("#email").offset().left - 170 }, { queue: false, duration: 1000 }); }); $("#url").click(function () { showMessage("快快告诉我你的家在哪里,好让我去参观参观!"); $(".spig").animate({ top: $("#url").offset().top - 70, left: $("#url").offset().left - 170 }, { queue: false, duration: 1000 }); }); $("#tbCommentBody").click(function () { showMessage("认真填写哦!不然会被认作垃圾评论的!我的乖乖~"); $(".spig").animate({ top: $("#tbCommentBody").offset().top - 70, left: $("#tbCommentBody").offset().left - 170 }, { queue: false, duration: 1000 }); }); }); var spig_top = 50; //滚动条移动 jQuery(document).ready(function ($) { var f = $(".spig").offset().top; $(window).scroll(function () { $(".spig").animate({ top: $(window).scrollTop() + f +addHeight }, { queue: false, duration: 1000 }); }); }); //鼠标点击时 jQuery(document).ready(function ($) { var stat_click = 0; $(".mumu").click(function () { stat_click++; if (stat_click > 4) { msgs = ["你有完没完呀?", "你已经摸我" + stat_click + "次了", "非礼呀!救命!OH,My ladygaga"]; var i = Math.floor(Math.random() * msgs.length); //showMessage(msgs[i]); } else { msgs = ["筋斗云!~我飞!", "我跑呀跑呀跑!~~", "别摸我,大男人,有什么好摸的!", "惹不起你,我还躲不起你么?", "不要摸我了,我会告诉老婆来打你的!", "干嘛动我呀!小心我咬你!"]; var i = Math.floor(Math.random() * msgs.length); //showMessage(msgs[i]); } s = [0.1, 0.2, 0.3, 0.4, 0.5, 0.6,0.7,0.75,-0.1, -0.2, -0.3, -0.4, -0.5, -0.6,-0.7,-0.75]; var i1 = Math.floor(Math.random() * s.length); var i2 = Math.floor(Math.random() * s.length); $(".spig").animate({ left: document.body.offsetWidth/2*(1+s[i1]), top: document.body.offsetheight/2*(1+s[i1]) }, { duration: 500, complete: showMessage(msgs[i]) }); }); }); //显示消息函数 function showMessage(a, b) { if (b == null) b = 10000; jQuery("#message").hide().stop(); jQuery("#message").html(a); jQuery("#message").fadeIn(); jQuery("#message").fadeTo("1", 1); jQuery("#message").fadeOut(b); }; //拖动 var _move = false; var ismove = false; //移动标记 var _x, _y; //鼠标离控件左上角的相对位置 jQuery(document).ready(function ($) { $("#spig").mousedown(function (e) { _move = true; _x = e.pageX - parseInt($("#spig").css("left")); _y = e.pageY - parseInt($("#spig").css("top")); }); $(document).mousemove(function (e) { if (_move) { var x = e.pageX - _x; var y = e.pageY - _y; var wx = $(window).width() - $('#spig').width(); var dy = $(document).height() - $('#spig').height(); if(x >= 0 && x <= wx && y > 0 && y <= dy) { $("#spig").css({ top: y, left: x }); //控件新位置 ismove = true; } } }).mouseup(function () { _move = false; }); });

      

  • 相关阅读:
    git 使用 VisualStudio 比较分支更改
    Java实现 LeetCode 264 丑数 II(二)
    PHP error_log() 函数
    PHP error_get_last() 函数
    PHP debug_print_backtrace() 函数
    PHP debug_backtrace() 函数
    PHP scandir() 函数
    复制相关参数学习笔记--master上的参数
    OI生涯回忆录 2018.11.12~2019.4.15
    C# 金额转中文大写
  • 原文地址:https://www.cnblogs.com/wasbg/p/11692338.html
Copyright © 2011-2022 走看看