Hướng dẫn javascript đổi màu background

Cho một đoạn mã HTML có sẵn như dưới đây, hãy viết một đoạn mã Javascript khi click vào button#btn1 thì đổi màu bacckground cho thẻ div#content sang màu đỏ, khi click vào button#btn2 thì đổi background sang màu xanh.

Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

CHÀO MỪNG BẠN ĐẾN VỚI FREETUTS.NET

Hướng dẫn

Để làm bài này thì chúng ta thực hiện các bước như sau:

Bài viết này được đăng tại [free tuts .net]

Bước 1: Lấy các đối tượng HTML

Code

// Lấy 2 button và thẻ div
var button1 = document.getElementById["btn1"];
var button2 = document.getElementById["btn2"];
var div = document.getElementById['content'];

Bước 2: Thay đổi thuộc tính CSS

Ta sử dụng thuộc tính style.background = mã màu để thay đổi background.

Code

// Thiết lập click cho button 1
button1. title = function [] {
    div.style.background = "red";
};

// Thiết lập click cho button 2
button2. title = function [] {
    div.style.background = "blue";
};

Toàn bộ chương trình

Sau đây là toàn bộ chương trình code của bài này.


    
        
        
        Javascript Example
    
    
        

Thay đổi CSS cho thẻ HTML

CHÀO MỪNG BẠN ĐẾN VỚI FREETUTS.NET
// Lấy 2 button và thẻ div var button1 = document.getElementById["btn1"]; var button2 = document.getElementById["btn2"]; var div = document.getElementById['content']; // Thiết lập click cho button 1 button1. title = function [] { div.style.background = "red"; }; // Thiết lập click cho button 2 button2. title = function [] { div.style.background = "blue"; };

Từ ví dụ này ta thấy để thay đổi style CSS cho thẻ HTML thì ta sử dụng cú pháp style.ten_thuoc_tinh = "giá trị".

Danh sách file tải về

Tên file tải vềPass giải nén
Download mã nguồn freetuts.net hoặc gameportable.net

Bài viết được sự cho phép của tác giả Trần Anh Tuấn

Hello xin chào các bạn, lâu lắm rồi mình chưa viết bài mới cho blog, vì lâu nay mình đang suy nghĩ tìm chủ đề mới để viết cho blog để giúp các bạn học hỏi, cải thiện trình độ và hôm nay mình đã tìm ra một chuyên mục mới cho blog của mình đó chính là Javascript thực chiến nghĩa là thay vì viết những bài về kiến thức cơ bản thì mình sẽ làm các bài như là hướng dẫn code chức năng tab, autocomplete, scroll fixed, toggle menu, slider…

Là những vấn đề khi đi làm mà các bạn sẽ hay gặp phải, làm sao để phân tích vấn đề, đưa ra giải pháp và để code nó thì series này mình sẽ cố gắng chia sẻ nhiều cho các bạn luôn. Và bài đầu tiên của series này chính là hướng dẫn code chức năng đổi màu nền ngẫu nhiên trước nhé.

Đề bài

Cho một danh sách màu sắc bất kỳ, khi nhấn vào một nút button ở ngoài giao diện thì màu nền của trang web sẽ đổi ngẫu nhiên[random] trong danh sách màu sắc đã cho từ trước.

Giao diện HTML CSS

Về giao diện thì chúng ta chỉ cần tạo HTML đơn giản mà thôi với một button có class button-random và CSS thêm một chút như sau:

Change

body {

  width: 100%;

  height: 100vh;

  background-color: #1a1c28;

  transition: background-color 0.2s linear;

}

.button-random {

  color: white;

  margin: 2rem auto;

  padding: 1.5rem 3rem;

  text-align: center;

  display: block;

  text-transform: uppercase;

  font-family: inherit;

  background-color: #ff7870;

  border: 0;

  border-radius: 4px;

  cursor: pointer;

  outline: none;

}

Và ta sẽ có kết quả đơn giản như này:

Việc đầu tiên chúng ta cần làm đó chính là khai báo các biến cần sử dụng, ở đây mình đặt một biến có tên là colors là một mảng sẽ chứa danh sách các màu bất kỳ như sau:

const colors = [

  “#00aefd”,

  “#ffa400”,

  “#07a787”,

  “#ff7870”,

  “black”,

  “pink”,

  “yellow”,

  “#e74c3c”,

  “#2979ff”,

];

Tiếp đến mình khai báo thêm 1 biến để chứa cái button-random để chúng ta thêm sự kiện nhấn vào cho nó sau này với phương thức document.querySelector để lấy ra một phần tử trong DOM[Document Object Model].

const buttonRandom = document.querySelector[“.button-random”];

Phần khai báo đã xong, bây giờ chúng ta sẽ thêm sự kiện nhấn vào nút button này bằng phương thức addEventListener và sự kiện truyền vào sẽ là click, khi nhấn vào nút thì lúc này chúng ta cần có giải pháp để lấy màu ngẫu nhiên ra.

Để lấy giá trị trong mảng thì chúng ta sẽ truy xuất đến vị trí index của phần tử trong mảng ví dụ colors[0] thì sẽ lấy ra giá trị đầu tiên là #00aefd trong trường hợp này, thì để lấy ngẫu nhiên thì chúng ta sẽ sử dụng hàm Math.random[], hàm này sẽ trả về kết quả từ 0 đến 1 như 0,2 0,7… nhưng cái chúng ta muốn chính là lấy từ 0 cho đến chiều dài của mảng cho nên lúc này để có kết quả chính xác thì code của chúng ta phải là Math.random[] * colors.length

Tuy nhiên con số khi ra đôi khi sẽ là 7,2 mà trong mảng nếu để colors[7,2] thì sẽ không đúng cho nên chúng ta cần làm tròn nó xuống bằng cách thêm một hàm khác bọc lại giá trị ở trên chính là Math.floor[] sẽ làm tròn xuống ví dụ 7,2 sẽ thành 7, lúc này trở đi ta có thể dùng một biến có tên là randomColor để lấy ra màu ngẫu nhiên bằng đoạn code mà chúng ta phân tích nãy giờ như sau:

const randomColor = colors[Math.floor[Math.random[] * colors.length]];

Sau khi lấy được mã màu rồi thì việc tiếp theo đơn giản chỉ cần thay đổi cho thẻ body bằng cách dùng đoạn code này

document.body.style.backgroundColor = randomColor;

Như vậy là xong một chức năng đổi màu đơn giản rồi, ở dưới đây là tổng hợp code Javascript từ nãy đến giờ nhé

const buttonRandom = document.querySelector[“.button-random”];

const colors = [

  “#00aefd”,

  “#ffa400”,

  “#07a787”,

  “#ff7870”,

  “black”,

  “pink”,

  “yellow”,

  “#e74c3c”,

  “#2979ff”,

];

buttonRandom.addEventListener[“click”, function [] {

  const randomColor = colors[Math.floor[Math.random[] * colors.length]];

  document.body.style.backgroundColor = randomColor;

}];

Tạm kết

Qua bài viết này, mình hi vọng sẽ giúp ích được cho các bạn phần nào trong việc học tập và thực hành với Javascript nhé, cũng như học thêm được cách phân tích vấn đề, các bước để làm ra kết quả như mong muốn, học cách lấy giá trị ngẫu nhiên trong một mảng với các hàm Math, ôn lại sự kiện click, gán giá trị vào style của DOM… Cuối cùng mình chúc các bạn một ngày an lành và vui vẻ. Nếu bài viết mình có gì sai thì các bạn góp ý giúp mình nhé.

Bài viết gốc được đăng tải tại evondev.com

Có thể bạn quan tâm:

  • Làm sao để nâng cao khả năng code?
  • Hướng dẫn code game Flappy Bird bằng JavaScript
  • Tổng hợp bài tập JavaScript có code mẫu

Xem thêm các việc làm JavaScript hấp dẫn tại TopDev

Bài Viết Liên Quan

Chủ Đề