程序员用代码来庆祝相恋一周年纪念日

前端之家收集整理的这篇文章主要介绍了程序员用代码来庆祝相恋一周年纪念日前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

下面是编程之家 jb51.cc 通过网络收集整理的代码片段。

编程之家小编现在分享给大家,也给大家做个参考。

/*
网上发现了一个某程序员写给女友的清新页面
项目主页:https://github.com/hackerzhou/Love
*/
// variables
var $window = $(window),gardenCtx,gardenCanvas,$garden,garden;
var clientWidth = $(window).width();
var clientHeight = $(window).height();
 
$(function () {
    // setup garden
    $loveHeart = $("#loveHeart");
    var offsetX = $loveHeart.width() / 2;
    var offsetY = $loveHeart.height() / 2 - 55;
    $garden = $("#garden");
    gardenCanvas = $garden[0];
    gardenCanvas.width = $("#loveHeart").width();
    gardenCanvas.height = $("#loveHeart").height()
    gardenCtx = gardenCanvas.getContext("2d");
    gardenCtx.globalCompositeOperation = "lighter";
    garden = new Garden(gardenCtx,gardenCanvas);
     
    $("#content").css("width",$loveHeart.width() + $("#code").width());
    $("#content").css("height",Math.max($loveHeart.height(),$("#code").height()));
    $("#content").css("margin-top",Math.max(($window.height() - $("#content").height()) / 2,10));
    $("#content").css("margin-left",Math.max(($window.width() - $("#content").width()) / 2,10));
 
    // renderLoop
    setInterval(function () {
        garden.render();
    },Garden.options.growSpeed);
});
 
$(window).resize(function() {
    var newWidth = $(window).width();
    var newHeight = $(window).height();
    if (newWidth != clientWidth && newHeight != clientHeight) {
        location.replace(location);
    }
});
 
function getHeartPoint(angle) {
    var t = angle / Math.PI;
    var x = 19.5 * (16 * Math.pow(Math.sin(t),3));
    var y = - 20 * (13 * Math.cos(t) - 5 * Math.cos(2 * t) - 2 * Math.cos(3 * t) - Math.cos(4 * t));
    return new Array(offsetX + x,offsetY + y);
}
 
function startHeartAnimation() {
    var interval = 50;
    var angle = 10;
    var heart = new Array();
    var animationTimer = setInterval(function () {
        var bloom = getHeartPoint(angle);
        var draw = true;
        for (var i = 0; i < heart.length; i++) {
            var p = heart[i];
            var distance = Math.sqrt(Math.pow(p[0] - bloom[0],2) + Math.pow(p[1] - bloom[1],2));
            if (distance < Garden.options.bloomRadius.max * 1.3) {
                draw = false;
                break;
            }
        }
        if (draw) {
            heart.push(bloom);
            garden.createRandomBloom(bloom[0],bloom[1]);
        }
        if (angle >= 30) {
            clearInterval(animationTimer);
            showMessages();
        } else {
            angle += 0.2;
        }
    },interval);
}
 
(function($) {
    $.fn.typewriter = function() {
        this.each(function() {
            var $ele = $(this),str = $ele.html(),progress = 0;
            $ele.html('');
            var timer = setInterval(function() {
                var current = str.substr(progress,1);
                if (current == '<') {
                    progress = str.indexOf('>',progress) + 1;
                } else {
                    progress++;
                }
                $ele.html(str.substring(0,progress) + (progress & 1 ? '_' : ''));
                if (progress >= str.length) {
                    clearInterval(timer);
                }
            },75);
        });
        return this;
    };
})(jQuery);
 
function timeElapse(date){
    var current = Date();
    var seconds = (Date.parse(current) - Date.parse(date)) / 1000;
    var days = Math.floor(seconds / (3600 * 24));
    seconds = seconds % (3600 * 24);
    var hours = Math.floor(seconds / 3600);
    if (hours < 10) {
        hours = "0" + hours;
    }
    seconds = seconds % 3600;
    var minutes = Math.floor(seconds / 60);
    if (minutes < 10) {
        minutes = "0" + minutes;
    }
    seconds = seconds % 60;
    if (seconds < 10) {
        seconds = "0" + seconds;
    }
    var result = "<span class=\"digit\">" + days + "</span> days <span class=\"digit\">" + hours + "</span> hours <span class=\"digit\">" + minutes + "</span> minutes <span class=\"digit\">" + seconds + "</span> seconds";
    $("#elapseClock").html(result);
}
 
function showMessages() {
    adjustWordsPosition();
    $('#messages').fadeIn(5000,function() {
        showLoveU();
    });
}
 
function adjustWordsPosition() {
    $('#words').css("position","absolute");
    $('#words').css("top",$("#garden").position().top + 195);
    $('#words').css("left",$("#garden").position().left + 70);
}
 
function adjustCodePosition() {
    $('#code').css("margin-top",($("#garden").height() - $("#code").height()) / 2);
}
 
function showLoveU() {
    $('#loveu').fadeIn(3000);
}


以上是编程之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

猜你在找的jQuery相关文章