当前位置:网站首页>Jiugongge lottery animation
Jiugongge lottery animation
2022-08-10 12:57:00 【C+ Anko Wood】
demo1四宫格:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"
name="viewport">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Four-square lottery</title>
</head>
<style>
html,
body {
width: 100%;
height: 100%;
max-width: 750px;
margin: auto;
}
.outBox {
width: 100%;
height: 60%;
background: gray;
position: relative;
display: flex;
flex-flow: row wrap;
}
.prize {
width: 44%;
height: 40%;
margin: 5% 3%;
text-align: center;
font-size: xx-large;
color: #fff;
padding-top: 15%;
box-sizing: border-box;
border: 6px double #AB945E;
}
.prize.active {
background: goldenrod;
}
.btn {
position: absolute;
left: 30%;
bottom: -20%;
width: 40%;
text-align: center;
height: 12%;
font-size: xx-large;
}
</style>
<body>
<div class="outBox" id="lotteryBoxs">
<div class="prize prize-0 one">一等奖</div>
<div class="prize prize-1 two">二等奖</div>
<div class="prize prize-3 four">谢谢参与</div>
<div class="prize prize-2 three">三等奖</div>
<button class="btn">开启好运</button>
</div>
</body>
<script src="http://code.jquery.com/jquery-2.2.4.min.js"></script>
<script>
$(document).ready(function () {
// The initial definition of a turntable
var lottery = {
index: 0, //当前转动到哪个位置,起点位置
count: 0, //总共有多少个位置
timer: 0, //setTimeout的ID,用clearTimeout清除
speed: 10, //初始转动速度
times: 0, //转动次数
cycle: 30, //转动基本次数:即至少需要转动多少次再进入抽奖环节
prize: 0, //中奖位置
init: function (id) {
if ($("#" + id).find(".prize").length > 0) {
$lottery = $("#" + id);
$units = $lottery.find(".prize");
this.obj = $lottery;
this.count = $units.length;
}
},
roll: function () {
var index = this.index;
var count = this.count;
var lottery = this.obj;
$(lottery).find(".prize").removeClass("active");
index += 1;
if (index > count - 1) {
index = 0;
}
$(lottery).find(".prize-" + this.index).addClass("active");
this.index = index;
return false;
},
stop: function (index) {
this.prize = index;
return false;
}
};
// Winning spin event
function roll() {
lottery.times += 1;
lottery.roll();
var prize_site = $("#lotteryBoxs").attr("prize_site");
if (lottery.times > lottery.cycle + 10 && lottery.index == prize_site) {
var prize_id = $("#lotteryBoxs").attr("prize_id");
var prize_name = $("#lotteryBoxs").attr("prize_name");
console.log(prize_site + "结果")
//Judgment of winning--模态框
if (prize_site == 1 || prize_site == 2 || prize_site == 3) {
//已中奖
setTimeout(function () {
console.log("恭喜你获得" + prize_name)
}, 500)
} else {
//未中奖
setTimeout(function () {
console.log("中奖结果:" + prize_name)
}, 500)
}
clearTimeout(lottery.timer);
lottery.prize = -1;
lottery.times = 0;
click = false;
} else {
if (lottery.times < lottery.cycle) {
lottery.speed -= 20;
} else if (lottery.times == lottery.cycle) {
var index = Math.random() * (lottery.count) | 0;
lottery.prize = index;
} else {
if (lottery.times > lottery.cycle + 10 && ((lottery.prize == 0 && lottery.index == lottery.count - 1) || lottery.prize == lottery.index + 1)) {
lottery.speed += 90;
} else {
lottery.speed += 30;
}
}
if (lottery.speed < 30) {
lottery.speed = 30;
}
lottery.timer = setTimeout(roll, lottery.speed);
}
return false;
}
var click = false;
// Background data call
$(function () {
lottery.init('lotteryBoxs');
$(".btn").click(function () {
if (click) {
return false;
} else {
lottery.speed = 100;
//Here data should be obtained from the interface
var prizeArr = ["谢谢参与", "一等奖", "二等奖", "三等奖"]
var prizeId = Math.floor(Math.random() * (3 - 0 + 1) + 0);
var prize_site = prizeId;
console.log("位置" + prizeId);
$("#lotteryBoxs").attr("prize_site", prize_site);
$("#lotteryBoxs").attr("prize_name", prizeArr[prizeId]);
roll();
click = true;
return false;
}
});
})
});
</script>
</html>
demo2

<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>JavaScript 实现九宫格抽奖</title>
<style>
body {
background-color: #2c9afc;
}
#container {
width: 330px;
height: 340px;
margin: 10% auto;
border: 7px solid #99d4ff;
border-radius: 10px;
padding: 2%;
}
#list {
width: 330px;
height: 340px;
list-style: none;
margin: 0;
padding: 0;
}
#list li,
#list span {
width: 100px;
height: 100px;
float: left;
text-align: center;
line-height: 100px;
position: relative;
background-color: #384f9a;
margin: 1.4%;
border-radius: 5px;
}
#list li img {
display: block;
width: 100%;
height: 100%;
}
#list li .mask {
width: 100%;
height: 100%;
position: absolute;
left: 0;
top: 0;
background-color: pink;
/* background: url(./666.jpg) no-repeat; */
/* background-size: cover; */
display: none;
}
#list span:hover {
cursor: pointer;
color: orange;
font-size: 18px;
}
#list .active .mask {
display: block;
}
#message {
line-height: 32px;
color: #9a9a9a;
text-align: center;
position: absolute;
left: 50%;
top: 50px;
width: 300px;
height: 50px;
margin-left: -150px;
display: none;
background: #000;
color: #fff;
}
</style>
</head>
<body>
<h3 style="text-align:center;margin-top: 10%;color:white">JavaScript 实现九宫格抽奖</h3>
<div id="container">
<ul id="list">
<!-- imgLabels put pictures of prizes -->
<!-- maskClass rolls up markers for the lottery -->
<li><img src="./logo.png" />
<div class="mask"></div>
</li>
<li><img src="./logo.png" />
<div class="mask"></div>
</li>
<li><img src="./logo.png" />
<div class="mask"></div>
</li>
<li><img src="./logo.png" />
<div class="mask"></div>
</li>
<span id="startbutton" onclick="startlottery()"
style="background-color:#ff3a59;color:white;font-size: 20px;">开始抽奖</span>
<li><img src="./logo.png" />
<div class="mask"></div>
</li>
<li><img src="./logo.png" />
<div class="mask"></div>
</li>
<li><img src="./logo.png" />
<div class="mask"></div>
</li>
<li><img src="./logo.png" />
<div class="mask"></div>
</li>
</ul>
<div id="message"></div><!-- Award-winning information display -->
</div>
</body>
<script type="text/javascript">
var container = document.getElementById('container'),
li = container.getElementsByTagName('li'),
span = document.getElementById('startbutton'),
message = document.getElementById('message'),
timer = null;
bReady = true;//Define a draw switch
var prize = [0, 1, 2, 4, 7, 6, 5, 3];//奖品liThe order in which the tabs are scrolled
var num = 0;//numUsed to store the obtained random function,That is the prize
//开始抽奖
function startlottery() {
if (bReady) {
//When the draw switch istrue的时候,Click to draw
message.style.display = "none";//Award information will be givendiv隐藏(To prevent the last lottery information from also showing)
span.style.background = "#ada7a8";
bReady = false;//The draw switch is set tofalse in the lottery That is, you cannot click on the lottery
num = getrandomnum(1, 9)//得到一个随机数(i.e. the prize)
// console.log(num)
startinit(num);//Perform lottery initialization
}
}
//抽中的奖品 返回1-9的整数,包含1,不包含9
function getrandomnum(n, m) {
return parseInt((m - n) * Math.random() + n);
}
//The lottery is initialized
function startinit(num) {
var i = 0; //定义一个i Used to calculate the total number of draw runs
var t = 200; //The speed of the draw run 初始为200毫秒
var rounds = 5; //The number of laps the lottery spins
var rNum = rounds * 8; //Mark the number of runs(This is a conditional judgment boundary)
timer = setTimeout(startscroll, t);//每t毫秒执行startscroll函数
//The function of the lottery roll
function startscroll() {
//Every rolling draw will be allli的classare set to empty
for (var j = 0; j < li.length; j++) {
li[j].className = '';
}
var prizenum = prize[i % li.length]; //通过i余8Get in the momentprize数组中的数字,该数字就是mask标记出现的位置
li[prizenum].className = "active";
i++;
if (i < rNum - 8) {
//当iless than turn(rNum-8次)的数量,t不变还是200毫秒
timer = setTimeout(startscroll, t);//Continue to perform the lottery roll
} else if (i >= rNum - 8 && i < rNum + num) {
//t时间变长,At this point the timer runs slower,At the same time, the label refresh speed is also reduced
t += (i - rNum + 8) * 5;
timer = setTimeout(startscroll, t);//Continue to perform the lottery roll
}
if (i >= rNum + num) {
//当igreater than turnrNumAdd random numbersnumThe timer expires,A prompt box appears to prompt the winning information
if (num == 1) {
message.innerHTML = "Congrats on your earphones";
} else if (num == 2) {
message.innerHTML = "恭喜你中了iPad";
} else if (num == 3) {
message.innerHTML = "感谢参与";
} else if (num == 4) {
message.innerHTML = "Congrats on your doll hit";
} else if (num == 5) {
message.innerHTML = "Congratulations on your red shoes";
} else if (num == 6) {
message.innerHTML = "Congratulations on your white phone";
} else if (num == 7) {
message.innerHTML = "Congratulations on your black phone";
} else if (num == 8) {
message.innerHTML = "Congratulations on your blue shoes";
}
var timer2 = null;
timer2 = setTimeout(function () {
message.style.display = "block";//The information displayed by the prize is displayed
span.style.background = "#ff3a59";
clearTimeout(timer2);
}, 1000);
bReady = true;//Let when the timer expiresspanThe label changes to the lottery status
clearTimeout(timer);
}
}
}
</script>
</html>
demo3

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>抽奖</title>
<style>
* {
margin: 0;
padding: 0;
}
li {
list-style: none;
}
/* 代码主体 */
body {
background: #2c9afc;
}
.lotteryBox {
width: 420px;
height: 420px;
border: 7px solid #99d4ff;
margin: 50px auto;
border-radius: 10px;
padding: 20px;
position: relative;
}
.lotteryBox ul {
width: 100%;
height: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-evenly;
align-items: center;
}
.lotteryBox ul li {
width: 120px;
height: 120px;
border-radius: 5px;
overflow: hidden;
}
.lotteryBox ul li img {
width: 100%;
height: 100%;
display: block;
}
#lotteryBtn {
cursor: pointer;
opacity: 0.9;
}
#lotteryBtn:hover {
opacity: 1;
}
.active img {
opacity: 0.4;
}
#lotteryBtnStop {
opacity: 0.3;
}
/* 抽奖结果 */
#lotteryResult {
position: absolute;
left: 10%;
bottom: -67px;
width: 80%;
height: 60px;
background-color: rgba(0, 0, 0, .5);
text-align: center;
color: white;
line-height: 60px;
}
</style>
</head>
<body>
<div class="lotteryBox">
<ul>
<li class="item"><img src="images/1.jpg" alt=""></li>
<li class="item"><img src="images/2.jpg" alt=""></li>
<li class="item"><img src="images/3.jpg" alt=""></li>
<li class="item"><img src="images/4.jpg" alt=""></li>
<li id="lotteryBtn"><img src="images/10.jpg" alt=""></li>
<li class="item"><img src="images/5.jpg" alt=""></li>
<li class="item"><img src="images/6.jpg" alt=""></li>
<li class="item"><img src="images/7.jpg" alt=""></li>
<li class="item"><img src="images/8.jpg" alt=""></li>
</ul>
<div id="lotteryResult">Waiting for the draw...</div>
</div>
<!-- Internal script code -->
<script>
/* 九宫格位置 0 1 2 3 按钮 4 5 6 7 */
var lotteryBtn = document.getElementById('lotteryBtn');//抽奖按钮
var lotteryLi = document.getElementsByClassName('item');//奖品
var lotteryResult = document.getElementById('lotteryResult');//抽奖结果
var directionArray = [0, 1, 2, 4, 7, 6, 5, 3];//奖品liThe order in which the tabs are scrolled,That is, the direction of the lottery rotation
var lotteryIndex = 0;//lotteryIndexUsed to store the obtained random number,That is the prize
var lotteryStatus = true;//Define a draw switch
var timer = null;//Define the time identifier
//1、点击抽奖按钮
lotteryBtn.onclick = function () {
if (lotteryStatus) {
//2、When the draw switch istrue的时候,Click to draw
lotteryStatus = false;//The draw switch is set tofalse in the lottery That is, you cannot click on the lottery
lotteryBtn.id = 'lotteryBtnStop';//Change the status of the lottery button-禁止态
//3、Define a recurring timer,Set the rotation effect and speed
timer = setInterval(function () {
lotteryLi[directionArray[lotteryIndex]].className = "item";
lotteryIndex++; //Rotate items together in a row
if (lotteryIndex >= 8) {
lotteryIndex = 0;
}
lotteryLi[directionArray[lotteryIndex]].className = "item active"
}, 100)
//4、Defines a one-time delay timer,Set the rotation time
setTimeout(function () {
clearInterval(timer);
// 6、Add dark operations,Prevent the best item from being drawn during the draw
if (lotteryIndex == 3) {
lotteryLi[directionArray[lotteryIndex]].className = "item";
lotteryLi[directionArray[lotteryIndex + 1]].className = "item active";
}
lotteryStatus = true;
document.getElementById('lotteryBtnStop').id = 'lotteryBtn'//Change the status of the lottery button-激活态
//5、Defines the prompt text after the draw is over[0,1,2,4,7,6,5,3]
if (lotteryIndex == 0) {
lotteryResult.innerText = '感谢参与'
} else if (lotteryIndex == 1) {
lotteryResult.innerText = 'Congratulations on your rose'
} else if (lotteryIndex == 2) {
lotteryResult.innerText = 'Congratulations on your blind box'
} else if (lotteryIndex == 3) {
lotteryResult.innerText = 'Congratulations on winning a lady'/*'Congratulations on your phone'*/
} else if (lotteryIndex == 4) {
lotteryResult.innerText = 'Congratulations on winning a lady'
} else if (lotteryIndex == 5) {
lotteryResult.innerText = 'Congrats on your earphones'
} else if (lotteryIndex == 6) {
lotteryResult.innerText = 'Congratulations on winning a little brother'
} else if (lotteryIndex == 7) {
lotteryResult.innerText = 'Congratulations on your points'
}
}, Math.round(Math.random() * 3000) + 1000)
} else {
console.log('无法点击,正在抽奖中')
}
}
</script>
</body>
</html>
demo4

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
* {
margin: 0;
padding: 0;
list-style: none;
text-decoration: none;
}
.luckyDraw {
width: 420px;
margin: 0 auto;
}
.prize {
font-size: 30px;
}
.lottery {
width: 240px;
margin: 30px auto;
position: relative;
}
.lottery li {
width: 80px;
height: 80px;
border: 1px solid #000;
box-sizing: border-box;
text-align: center;
line-height: 80px;
position: absolute;
}
.lottery li:nth-of-type(1) {
left: 0;
top: 0;
}
.lottery li:nth-of-type(2) {
left: 80px;
top: 0;
}
.lottery li:nth-of-type(3) {
left: 160px;
top: 0;
}
.lottery li:nth-of-type(4) {
left: 160px;
top: 80px;
}
.lottery li:nth-of-type(5) {
left: 160px;
top: 160px;
}
.lottery li:nth-of-type(6) {
left: 80px;
top: 160px;
}
.lottery li:nth-of-type(7) {
left: 0;
top: 160px;
}
.lottery li:nth-of-type(8) {
left: 0;
top: 80px;
}
.lottery li:nth-of-type(9) {
left: 80px;
top: 80px;
cursor: pointer;
background: gold;
}
.active:after {
position: absolute;
top: 0;
left: 0;
content: "";
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.1);
}
</style>
</head>
<body>
<div class="luckyDraw">
<ul class="lottery">
<li class="active">1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
<li>6</li>
<li>7</li>
<li>8</li>
<li onclick="roll()">点击抽奖</li>
</ul>
<span class="prize">奖品</span>
</div>
<script>
var arr = [1, 2, 3, 4, 5, 6, 7, 8];
var lottery = document.querySelector('.lottery');
var prize = document.querySelector('.prize');
var ali = lottery.querySelectorAll('li');
var i = 0;//转到哪个位置
var count = 0;//转圈初始值
var totalCount = 9;//转动的总圈数
var speed = 500;//转圈速度,越大越慢
var minSpeed = 500;
var timer;
var isClick = true;
var index = 5;//指定转到哪个奖品
function roll() {
//速度衰减
speed -= 50;
if (speed <= 10) {
speed = 10;
}
//每次调用都去掉全部active类名
for (var j = 0; j < ali.length; j++) {
ali[j].classList.remove('active');
}
i++;
//计算转圈次数
if (i >= ali.length - 1) {
i = 0;
count++;
}
prize.innerHTML = arr[i];//Displays the current prize next to it
ali[i].classList.add('active');//添加变色类名
//满足转圈数和指定位置就停止
if (count >= totalCount && (i + 1) == index) {
clearTimeout(timer);
isClick = true;
speed = minSpeed;
} else {
timer = setTimeout(roll, speed);//不满足条件时调用定时器
//最后一圈减速
if (count >= totalCount - 1 || speed <= 50) {
speed += 100;
}
}
}
ali[ali.length - 1].onclick = function () {
if (isClick) {
count = 0;
//The winning positions are randomly generated
// index = Math.floor(Math.random()*arr.length+1);
roll();
isClick = false;
}
}
</script>
</body>
</html>
demo5

<!DOCTYPE html>
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.js"></script>
<html>
<style>
li {
width: 200px;
height: 200px;
}
.ul {
width: 606px;
height: 606px;
}
.ul li {
float: left;
border: 1px solid #000000;
list-style: none;
line-height: 200px;
text-align: center;
font-size: 50px;
}
</style>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<div class="ul">
<li class="li1">1</li>
<li class="li2">2</li>
<li class="li3">3</li>
<li class="li8">8</li>
<li class="listart">开始</li>
<li class="li4">4</li>
<li class="li7">7</li>
<li class="li6">6</li>
<li class="li5">5</li>
</div>
<script type="text/javascript" src="js/jquery-1.12.4.js"></script>
<script>
var last_index = 0, //The last scroll position
amplification_index = 0, //The current scroll position of the wheel,0Indicates the first time
roll_flag = true, //是否允许滚动
max_number = 8, //The total number of roulette wheels
speed = 300, //速度,速度值越大,则越慢 初始化为300
finalindex = 3, //最终的奖励
myInterval = "", //定时器
max_speed = 40, //The maximum speed of the roller
minturns = 8, //The minimum number of turns is 2
runs_now = 0; //Current number of runs
$(".listart").bind("click", function () {
//初始化步数
runs_now = 0;
//currently clickable
if (roll_flag) {
roll_flag = false;
//Start scrolling,注,If there is no return in the final background, I will be embarrassed
rolling();
}
});
//Animation of the scroll wheel
function rolling() {
myInterval = setTimeout(function () {
rolling();
}, speed);
runs_now++; //The number of runs already increased by one
amplification_index++; //The current plus one
//获取总步数,Interface latency issues,So finally set it up1s以上
var count_num = minturns * max_number + finalindex - last_index;
console.log(count_num);
//during the ascent
if (runs_now <= (count_num / 3) * 2) {
speed -= 30; //加速
if (speed <= max_speed) {
speed = max_speed; //最高速度为40;
}
}
//抽奖结束
else if (runs_now >= count_num) {
clearInterval(myInterval);
last_index = amplification_index;
roll_flag = true;
}
//during the descent
else if (count_num - runs_now <= 10) {
speed += 20;
}
//缓冲区间
else {
speed += 10;
if (speed >= 100) {
speed = 100; //最低速度为100;
}
}
if (amplification_index > max_number) {
//判定!is greater than the maximum number
amplification_index = 1;
}
//刷新页面
var strli = ".li";
strli += amplification_index;
//全部清除
$("li").each(function () {
$(this).css("background", "#ffffff");
})
//画颜色
$(strli).css("background", "red");
}
</script>
</body>
</html>
demo6

<!DOCTYPE html>
<html>
<head>
<title></title>
<style type="text/css">
ul {
margin: 0 auto;
padding: 0;
width: 576px;
height: 513px;
border: 4px solid red;
font-size: 0;
}
li,
a {
display: inline-block;
width: 190px;
height: 170px;
border: 0.5px solid red;
font-size: 14px;
}
ul li .mask {
width: 190px;
height: 170px;
position: relative;
left: 0;
top: -172px;
display: none;
box-shadow: 0px -5px 10px 0px white inset,
/* Adds a shadow to the picture as it rotates */
-5px 0px 10px 0px white inset,
5px 0px 10px 0px white inset,
0px 5px 10px 0px white inset;
}
img {
width: 100%;
height: 100%;
}
ul .active .mask {
display: block;
}
#page {
line-height: 32px;
color: #9a9a9a;
text-align: center;
position: absolute;
left: 50%;
top: 50px;
width: 300px;
height: 50px;
margin-left: -150px;
display: none;
background: #000;
color: #fff;
}
.act .mask {
display: block;
}
</style>
</head>
<body>
<ul>
<li><img class="active" src="images/6.jpg" alt="">
<div class="mask"></div>
</li>
<li><img src="images/1.jpg" alt="">
<div class="mask"></div>
</li>
<li><img src="images/2.jpg" alt="">
<div class="mask"></div>
</li>
<li><img src="images/3.jpg" alt="">
<div class="mask"></div>
</li>
<a><img src="images/4.jpg" alt=""></a>
<li><img src="images/5.jpg" alt="">
<div class="mask"></div>
</li>
<li><img src="images/6.jpg" alt="">
<div class="mask"></div>
</li>
<li><img src="images/7.jpg" alt="">
<div class="mask"></div>
</li>
<li><img src="images/8.jpg" alt="">
<div class="mask"></div>
</li>
</ul>
<div id="page"></div>
</body>
<script type="text/javascript">
var arr = [0, 1, 2, 4, 7, 6, 5, 3] //Sets a rotation direction for the image
var arrLi = document.getElementsByTagName("li");
var oBtn = document.getElementsByTagName("a")[0];
var tim; //时间
var index = 0
var swh = true
oBtn.onclick = function () {
if (swh) {
swh = false;
time = setInterval(function () {
arrLi[arr[index]].className = "";
index++; //Rotate items together in a row
if (index >= 8) {
index = 0;
}
arrLi[arr[index]].className = "active"
}, 50); //转动的速度
setTimeout(function () {
clearInterval(time);
if (index == 0) {
//Prevent the best item from being drawn during the draw
arrLi[arr[index]].className = "";
arrLi[arr[index + 1]].className = "active";
}
swh = true;
}, Math.random() * 500 + 1000) //转动的时间
}
}
</script>
</html>
边栏推荐
猜你喜欢

“68道 Redis+168道 MySQL”精品面试题(带解析)

燃炸!字节跳动成功上岸,只因刷爆LeetCode算法面试题

jenkins数据迁移和备份

蚂蚁金服+拼多多+抖音+天猫(技术三面)面经合集助你拿大厂offer

Custom filters and interceptors implement ThreadLocal thread closure

阿里架构师整理一份企业级SSM架构实战文档,让你熟悉底层原理

StarRocks on AWS 回顾 | Data Everywhere 系列活动深圳站圆满结束

So delicious!Since using this interface artifact, my team efficiency has increased by 60%!

MYSQL误删数据恢复

九宫格抽奖动效
随机推荐
Jenkins修改端口号, jenkins容器修改默认端口号
娄底农产品检验实验室建设指南盘点
odps sql 不支持 unsupported feature CREATE TEMPORARY
如何让别人看不懂你的 JS 代码?把你当大佬!
Highways「建议收藏」
IDC第一的背后,阿里云在打造怎样的一朵“视频云”?
用低代码驱动IT现代化
camshift实现目标跟踪
【百度统计】用户行为分析
Proprietary cloud ABC Stack, the real strength!
Does face attendance choose face comparison 1:1 or face search 1:N?
CV复习:空洞卷积
camshift achieves target tracking
StarRocks on AWS 回顾 | Data Everywhere 系列活动深圳站圆满结束
MySQL面试题——MySQL常见查询
MYSQL误删数据恢复
LeetCode中等题之比较版本号
数字藏品,“赌”字当头
第5章 虚拟存储器
百度用户产品流批一体的实时数仓实践