بیایید یک مولد رنگ تصادفی بسازیم!

اگر با جاوا اسکریپت تازه کار هستید، احتمالاً چیزهای زیادی در مورد نحوه عملکرد انواع داده، منطق، توابع و غیره یاد گرفته اید. این خوب است؛ برای استفاده از JS در پروژه های پیچیده تر، باید از اصول اولیه شروع کنید. با این حال، بسته به دامنه توجه شما، ممکن است به زودی تمایل شدیدی به استفاده از مهارت های JS خود در یک وب سایت واقعی داشته باشید. انجام این کار میتواند کمی پیچیده باشد (اما نه به پیچیدگی عبارات با قاعده، amirite)، اما یکی از سادهترین مواردی که میتوانید با آن شروع کنید، حدس زدید، یک تولیدکننده رنگ تصادفی است. در این مقاله، من شما را از طریق مراحلی که برای ساختن خود استفاده کردم، آشنا میکنم.
1. HTML boilerplate را اضافه کنید
Random-Color Generator
اگر از VS Code استفاده می کنید، می توانید «!» را تایپ کنید. در سند خالی HTML، سپس “Enter” را فشار دهید تا این قسمت را اضافه کنید (در مورد سایر ویرایشگرهای متن مطمئن نیستید) اگر قبلاً آن را نمی دانستید. در زیر صفحه دیگ، پیوندهایی به اسناد CSS که برای این پروژه استفاده کردم اضافه کردم. توصیه می کنم CSS خود را در یک فایل جداگانه نگه دارید، فقط برای اینکه فایل HTML شما خیلی بزرگ و پیچیده نشود. از آنجایی که جاوا اسکریپتی که ما می نویسیم خیلی طولانی نیست، من آن را مستقیماً به فایل HTML داخل آن اضافه می کنم. tag, which you’ll see in step 3. If you wanted to have a separate JS file and link it to your HTML file, you could do this:
2. Build the HTML ‘skeleton’
Please select a color by clicking the button below.
Now that we’ve added the boilerplate HTML & linked our CSS documents in the , let’s add the body & build out our HTML. As you can see, the
getNewColor()
function will run whenever the page loads. More on this function in the following steps.
In the picture above, I add a
, which contains a
tag, which will eventually be populated with a HEX code and will display as text on the page. Next, I insert a button that the user clicks to generate a new HEX code. This is done by the getNewColor()
function, which I will explain soon.
3. Add JavaScript!
Now we are at the point where the real magic starts to happen. Are you excited? I can tell. Here’s how you do that:
برای یک برنامه نسبتاً ساده مانند این، ما می توانیم آنچه را که نیاز داریم تنها با یک تابع، که در بالا ذکر شد، انجام دهیم. getNewColor()
تابع برای این ژنراتور، اجازه دهید از کدهای HEX برای تعیین رنگ استفاده کنیم، اما استفاده از مقادیر RGB نیز امکان پذیر است.
بیایید ابتدا تمام کاراکترهای HEX ممکن (اعداد صحیح 0-9 و حروف AF) را در قالب یک رشته، در متغیری به نام قرار دهیم. symbols
.
سپس، اجازه دهید مقداردهی اولیه کنیم color
متغیر با علامت هش به شکل رشته. این متغیر در حلقه توضیح داده شده در زیر جهش می یابد.
بیایید اکنون یک حلقه ایجاد کنیم که 6 بار اجرا شود، زیرا در یک کد HEX 6 مقدار وجود دارد. برای هر تکرار حلقه، یک مقدار تصادفی منفرد از symbols string
به متغیر اضافه می شود color
، که اگر به خاطر داشته باشید به صورت رشته ای با # شروع می شود. در این مرحله، هر زمان که ما تماس بگیرید getNewColor()
، یک کد HEX جدید دریافت می کنیم. حالا بیایید آن کد را در صفحه HTML خود اعمال کنیم.
در تجربه من، بهترین کار برای قرار دادن آن است
tag at the end of the
tag. Some would vehemently argue otherwise, and they may have a point, but I’m not going to discuss that in this article. Please have a keyboard war in the comment section below if you feel inclined, as it’s good for engagement.
4. Apply JS to HTML file
Cool, we now have a function that gives us a random HEX code. However, this is useless unless we apply it to our HTML. In this case, it’d be nice to change the background of the entire page, so the user can have a preview of the random color, and to put the HEX code in text format, so they can copy it. We’ll first need to define these behaviors in our function:
// continuing getRandomColor()...
document.body.style.background = color;
document.getElementByID("hex").textContent = color;
Still operating inside the getNewColor()
function, we can access the background
styling property with the first line of code you see in the above photo. We could have also used backgroundColor
, which, by the way, translates to background-color
in CSS. In this step, we set the variable color
, which we randomly defined in the loop, as the background color for the page.
In the second line of code, we access the previously defined
tag by its id, ‘hex’. To add the variable color
in text form, we can use the method .textContent
, which I’ve used here, or the .innerHTML
method, to append color to the
tag. See the link at the end of this article to read more on the difference between these. In the way we laid out our HTML above, this text will appear directly above the button so the user can see the exact color displayed & copy it if they want.
Altogether, our JS looks like this:
5. به برنامه بگویید که چه زمانی عملکرد را اجرا کند
اگر هرگز آن را اجرا نکنیم، ساختن یک تابع فایده ای ندارد، بنابراین بیایید به برنامه خود بگوییم که تابع getNewColor () ما چه زمانی باید فراخوانی شود. در این مثال، اجازه دهید getNewColor() را هر زمان که صفحه بارگیری میشود و زمانی که "دریافت رنگ جدید!" دکمه کلیک می شود. در اینجا نحوه انجام این کار آمده است:
// Run getNewColor() upon loading of page:
// Run getNewColor() when clicking "Get New Color!" button:
6. یک ظاهر طراحی را اضافه کنید
شما ممکن است این قسمت را هر طور که می خواهید انجام دهید یا اصلاً انجام ندهید، اما در اینجا استایلی که من در این پروژه استفاده کردم آمده است:
/* styling.css */
body {
margin: 0;
padding: 0;
font-family: 'Courier New', Courier, monospace;
}
#heading {
background-color: rgba(0, 0, 0, 0.4);
color: white;
text-align: center;
padding: 16px;
}
.color {
text-align: center;
background-color: rgba(0, 0, 0, 0.4);
padding: 48px 32px;
margin: 136px 384px;
}
#hex, #rgb {
display: block;
color: white;
font-size: 40px;
text-transform: uppercase;
margin-bottom: 24px
}
#rgb {
font-size: 32px;
}
.color button {
background: none;
outline: none;
color: white;
border: 3px solid white;
cursor: pointer;
font-size: 24px;
padding: 8px;
font-family: 'Courier New', Courier, monospace;
}
/* responsive.css */
@media screen and (max-width: 768px) {
.color {
margin: 118px 213px;
}
#hex {
font-size: 32px;
}
.color button {
font-size: 20px;
padding: 3px;
}
}
@media screen and (max-width: 425px) {
#heading {
font-size: small;
}
.color {
margin: 89px 66px;
}
}
@media screen and (max-width: 325px) {
.color {
margin: 101px 66px;
}
#hex {
font-size: 25px;
}
.color button {
font-size: 14px;
padding: 8px;
}
}
7. بیایید آن را آزمایش کنیم!
اگر مراحل بالا را به درستی دنبال کرده باشید، هنگام بارگیری صفحه و همچنین با کلیک روی دکمه، یک رنگ تصادفی ایجاد می شود. پس زمینه صفحه روی رنگ تصادفی تنظیم می شود و کاربران می توانند کد HEX را کپی کنند.
ممنون که تا اینجا خواندید! امیدوارم برای شما مفید بوده باشد. به یاد داشته باشید، گاهی اوقات خواندن مقالات و دنبال کردن آموزشها اشکالی ندارد، اما باید این کار را فقط برای یادگیری مفاهیم انجام دهید. وقتی فکر کردید که مفاهیم را به درستی درک کرده اید، سعی کنید خودتان برنامه بسازید. نه، احتمالاً بار اول همه چیز را درست نخواهید گرفت، اما مواجه شدن با یک مشکل و فهمیدن اینکه چگونه خودتان آن را حل کنید، با استفاده از مفاهیمی که آموختهاید، راهی برای تبدیل شدن به یک کدنویس بهتر است.
اگر این مقاله برای شما مفید بود، از یک نظر خوب یا چند کف زدن سپاسگزارم، تا بتوانم بدانم چه محتوایی برای مردم مفید است، و بنابراین بتوانم در آینده روی نوشتن آن محتوا تمرکز کنم.
مثل همیشه، کدنویسی مبارک!
این پروژه را در عمل ببینید
پیوند به مخزن GitHub این پروژه
پیوند به مقاله در مورد تفاوت بین .innerHTML و .textContent
در ابتدا در Medium برای جاوا اسکریپت به زبان انگلیسی ساده در 15 اوت 2022 منتشر شد
در ادامه بخوانید

راهنمای کامل تست مرورگر متقابل در سال 2025
ماریا بوئنو -

ماژول OpenTofu برای اسپیکر VPC با TGW
سایبرگاوین -

5 دلیل برای شرکت در کارگاه هک اخلاقی در IIT Jodhpur Prometeo 2025
داکش کاتاریا -

🚀 سفر من به سمت توسعه وب و نرم افزار
شمس الدین حمدوله -