Hướng dẫn how can javascript interact with css? - javascript có thể tương tác với css như thế nào?

CSS và JavaScript: & NBSP; Các dòng dường như bị mờ bởi mỗi bản phát hành trình duyệt. & nbsp; họ luôn thực hiện một công việc rất khác nhau nhưng cuối cùng, cả hai đều là công nghệ mặt trước nên họ cần phải làm việc chặt chẽ. & nbsp; chúng tôi có các tệp .js của chúng tôi và .css của chúng tôi, nhưng điều đó không có nghĩa là CSS và JS không thể tương tác chặt chẽ hơn so với các khung JavaScript cơ bản sẽ cho phép. & nbsp; Đây là năm cách mà JavaScript và CSS làm việc cùng nhau mà bạn có thể không biết!

Nhận các thuộc tính giả giả với & NBSP; JavaScript

Chúng tôi biết rằng chúng tôi có thể nhận được các giá trị kiểu CSS cơ bản cho một phần tử với thuộc tính style, nhưng còn các thuộc tính giả giả thì sao? & nbsp; Vâng, JavaScript thậm chí cũng có thể truy cập vào những người đó!

// Get the color value of .element:before
var color = window.getComputedStyle(
	document.querySelector('.element'), ':before'
).getPropertyValue('color');

// Get the content value of .element:before
var content = window.getComputedStyle(
	document.querySelector('.element'), ':before'
).getPropertyValue('content');

Bạn có thể thấy cách tôi truy cập giá trị thuộc tính nội dung trong bài đăng trên blog của tôi về phát hiện trạng thái thiết bị. & nbsp; Vô cùng hữu ích nếu bạn đang tìm cách tạo các trang web năng động, độc đáo!

API danh sách lớp

Tất cả chúng ta đã sử dụng các phương pháp addClass, removeClasstoggleClass trong các thư viện JavaScript yêu thích của chúng tôi. & nbsp; vì mục đích hỗ trợ các trình duyệt cũ hơn, mỗi thư viện sẽ lấy ____99 của phần tử (ở định dạng chuỗi của nó) và thêm/xóa lớp, sau đó cập nhật chuỗi className. & nbsp; Có một API mới hơn để thêm, xóa và chuyển đổi các lớp và nó được gọi là ClassList:

myDiv.classList.add('myCssClass'); // Adds a class

myDiv.classList.remove('myCssClass'); // Removes a class

myDiv.classList.toggle('myCssClass'); // Toggles a class

myDiv.classList.add('myCssClass'); // Adds a class

myDiv.classList.remove('myCssClass'); // Removes a class

myDiv.classList.toggle('myCssClass'); // Toggles a class
1 đã được triển khai trong một thời gian dài trong hầu hết các trình duyệt, nhưng API này nhấn IE tại phiên bản 10.

Thêm và xóa các quy tắc trực tiếp vào các kiểu dáng

Tất cả chúng ta đều thành thạo trong việc sửa đổi các kiểu thông qua phương thức

myDiv.classList.add('myCssClass'); // Adds a class

myDiv.classList.remove('myCssClass'); // Removes a class

myDiv.classList.toggle('myCssClass'); // Toggles a class
2 và chúng tôi đã sử dụng bộ công cụ JavaScript để làm điều đó, nhưng bạn có biết bạn thực sự có thể đọc và viết các quy tắc trong các bảng kiểu mới và hiện có không? & nbsp; API thực sự khá đơn giản!

function addCSSRule(sheet, selector, rules, index) {
	if(sheet.insertRule) {
		sheet.insertRule(selector + "{" + rules + "}", index);
	}
	else {
		sheet.addRule(selector, rules, index);
	}
}

// Use it!
addCSSRule(document.styleSheets[0], "header", "float: left");

Trường hợp sử dụng phổ biến nhất là tạo một bảng kiểu mới, nhưng nếu bạn muốn sửa đổi bảng kiểu hiện có, hãy truy cập nó.

Tải tệp CSS với trình tải

Các tài nguyên tải lười biếng như hình ảnh, JSON và tập lệnh là một cách tuyệt vời để giảm thời gian tải. & nbsp; chúng ta có thể tải các tài nguyên bên ngoài đó với các trình tải JavaScript như curl.js, nhưng bạn có biết bạn có thể lười biếng tải các kiểu dáng và nhận được thông báo đó trong cùng một cuộc gọi lại không?

curl(
	[
		"namespace/MyWidget",
		"css!namespace/resources/MyWidget.css"
	], 
	function(MyWidget) {
		// Do something with MyWidget
		// The CSS reference isn't in the signature because we don't care about it;
		// we just care that it is now in the page
	}
});

Blog này lười biếng tải Prismjs, cú pháp highlighter, dựa trên sự hiện diện của & nbsp; ____ 13 yếu tố. & nbsp; Một khi tất cả các tài nguyên được tải, bao gồm cả bảng kiểu, tôi có thể bắn ra một cuộc gọi lại. & nbsp; hữu ích!

CSS myDiv.classList.add('myCssClass'); // Adds a class myDiv.classList.remove('myCssClass'); // Removes a class myDiv.classList.toggle('myCssClass'); // Toggles a class 4

Thuộc tính

myDiv.classList.add('myCssClass'); // Adds a class

myDiv.classList.remove('myCssClass'); // Removes a class

myDiv.classList.toggle('myCssClass'); // Toggles a class
4 của CSS rất thú vị ở chỗ nó gần như hoạt động theo cách giống như JavaScript, vô hiệu hóa một phần tử khi giá trị không có nhưng nếu không thì cho phép phần tử hoạt động trên mỗi thông thường khi giá trị không & nbsp; ________ 16. & nbsp; bạn có thể đang nói "Vậy thì sao ?!" Nhưng các sự kiện con trỏ thậm chí ngăn các sự kiện JavaScript bắn!

.disabled { pointer-events: none; }

Nhấp vào phần tử đó và bất kỳ cuộc gọi lại

myDiv.classList.add('myCssClass'); // Adds a class

myDiv.classList.remove('myCssClass'); // Removes a class

myDiv.classList.toggle('myCssClass'); // Toggles a class
7 nào bạn đã đặt trên phần tử sẽ không bắn. & nbsp; một tài sản hoàn hảo, thực sự - bạn không cần phải kiểm tra className trước khi bạn quyết định có bắn một cái gì đó dựa trên sự hiện diện của lớp hay không.

Đó chỉ là năm cách mà CSS và JavaScript tương tác mà bạn không luôn nghĩ đến. & nbsp; có nhiều ý tưởng hơn? & nbsp; Hãy chia sẻ chúng!

Hướng dẫn how can javascript interact with css? - javascript có thể tương tác với css như thế nào?

Các tính năng gần đây

  • Hướng dẫn how can javascript interact with css? - javascript có thể tương tác với css như thế nào?

    Hoạt hình CSS giữa Media & NBSP; Truy vấn

    Hoạt hình CSS ở ngay trên đó với bánh mì thái lát. Hoạt hình CSS có hiệu quả vì chúng có thể được tăng tốc phần cứng, chúng không yêu cầu chi phí JavaScript và chúng bao gồm rất ít mã CSS. Thường thì chúng tôi thêm các biến đổi CSS vào các phần tử thông qua CSS trong ...

  • Hướng dẫn how can javascript interact with css? - javascript có thể tương tác với css như thế nào?

    6 điều bạn đã không biết về Firefox & nbsp; os

    HĐH Firefox là tất cả các tin tức công nghệ và vì lý do chính đáng: & nbsp; cuối cùng Mozilla đã được cung cấp & nbsp; các nhà phát triển web mà họ cần tạo ứng dụng theo cách họ đã tạo ra trong nhiều năm - với CSS, HTML và JavaScript. & nbsp; hệ điều hành firefox đã nhanh chóng cải thiện ...

Những bản demo đáng kinh ngạc

  • Hướng dẫn how can javascript interact with css? - javascript có thể tương tác với css như thế nào?

    Người giữ chỗ HTML5 & NBSP; thuộc tính

    HTML5 đã giới thiệu nhiều tính năng cho trình duyệt; & nbsp; một số dựa trên HTML, một số dưới dạng API JavaScript, nhưng tất cả đều hữu ích. & nbsp; một trong những mục yêu thích của tôi nếu giới thiệu thuộc tính

    myDiv.classList.add('myCssClass'); // Adds a class
    
    myDiv.classList.remove('myCssClass'); // Removes a class
    
    myDiv.classList.toggle('myCssClass'); // Toggles a class
    
    9 cho các yếu tố đầu vào. & nbsp; thuộc tính
    myDiv.classList.add('myCssClass'); // Adds a class
    
    myDiv.classList.remove('myCssClass'); // Removes a class
    
    myDiv.classList.toggle('myCssClass'); // Toggles a class
    
    9 hiển thị văn bản trong một trường cho đến khi ...

  • Hướng dẫn how can javascript interact with css? - javascript có thể tương tác với css như thế nào?

    Triển khai chương trình/ẩn cơ bản trong Mootools & NBSP; 1.2

    Một trong những phần tuyệt vời của mootools là chính thư viện cho phép linh hoạt tối đa trong các lớp được cung cấp. Bạn có thể thấy bằng chứng về điều này trong phương thức thực hiện lớp "lớp" '. Sử dụng phương thức triển khai, bạn có thể thêm các phương thức của riêng mình vào ...

JavaScript có thể truy cập CSS không?

Bạn có thể nhận các giá trị CSS trong JavaScript thông qua hai phương thức: thuộc tính kiểu.GetComputedStyle. The style property. getComputedStyle .

JavaScript có thể được sử dụng để thay đổi CSS không?

Đặt các kiểu riêng lẻ trực tiếp từ JavaScript là một trong những kịch bản phổ biến nhất khi xử lý các kiểu CSS động.Cách này cho phép bạn thay đổi kiểu CSS cho một hoặc nhiều yếu tố có trong DOM.Tất cả bạn phải làm là: Truy vấn phần tử có trong DOM.. This way allows you to change the CSS styles for one or multiple elements present in the DOM. All you have to do is: Query the element present in the DOM.