当前位置:网站首页>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>
边栏推荐
猜你喜欢

Keithley DMM7510精准测量超低功耗设备各种运作模式功耗

11 + chrome advanced debugging skills, learn to direct efficiency increases by 666%

Is there a problem with the CURRENT_TIMESTAMP(6) function?

专有云ABC Stack,真正的实力派!

第5章 虚拟存储器

九宫格抽奖动效

LT8911EXB MIPI CSI/DSI to EDP signal conversion

wirshark 常用操作及 tcp 三次握手过程实例分析

10 款更先进的开源命令行工具

Guidelines for Sending Overseas Mail (2)
随机推荐
神经网络学习-正则化
你是怎么知道数据库 Htap 能力强弱的?怎么能看出来
漏洞管理计划的未来趋势
【iOS】Organization of interviews
海外媒体宣发.国内媒体发稿要注意哪些问题?
娄底妆品实验室建设规划构思
吃透Chisel语言.36.Chisel实战之以FIFO为例(一)——FIFO Buffer和Bubble FIFO的Chisel实现
Comparison version number of middle questions in LeetCode
iTextSharp操作PDF
H264 GOP 扫盲
So delicious!Since using this interface artifact, my team efficiency has increased by 60%!
燃炸!字节跳动成功上岸,只因刷爆LeetCode算法面试题
面试美团被问到了Redis,搞懂这几个问题,让你轻松吊打面试官
爱可可AI前沿推介(8.10)
金山云要飘到哪里?
【数字IC验证进阶】SoC系统验证和IP模块验证的区别及侧重点分析
ASP.NET Core依赖注入系统学习教程:ServiceDescriptor(服务注册描述类型)
部署项目半途而废后续
Merge similar items in LeetCode simple questions
表中存在多个索引问题? - 聚集索引,回表,覆盖索引