


As browsers continue to upgrade and improve, the boundaries between CSS and JavaScript are becoming increasingly blurred. Originally they were responsible for completely different functions, but in the end, they all belong to web front-end technologies, and they need to work closely with each other. We all have .js files and .css files in our web pages, but this does not mean that CSS and js are independent and cannot interact. You may not be aware of these five ways JavaScript and CSS can work together!
Use JavaScript to get the pseudo-element (pseudo-element) attribute
Everyone knows how to get the CSS style value of an element through its style attribute, but you can get the pseudo-element (pseudo-element) Is the property worth it? Yes, you can also access pseudo-elements in the page using JavaScript.
// 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');
See, I can access the content property value in the pseudo element. This is a very useful technique if you want to create a dynamic, stylish website!
classList API
Many JavaScript tool libraries have methods such as addClass, removeClass and toggleClass. In order to be compatible with old browsers, the methods used by these class libraries are to first search the className of the element, append and delete the class, and then update the className. In fact, there is a new API that provides methods to add, delete and reverse CSS class attributes, called classList:
myDiv.classList.add('myCssClass'); // Adds a class
myDiv.classList.remove ('myCssClass'); // Removes a class
myDiv.classList.toggle('myCssClass'); // Toggles a class
Most browsers classListAPI has been implemented for a long time, and it was finally implemented in IE10.
Add and delete style rules directly to the style sheet
We are all very familiar with using element.style.propertyName to modify styles. Using JavaScript can help us do this, but you know how to do it new Add or modify an existing CSS style rule? It's actually very simple.
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");
This method is usually used to create a new style rule, but if you want to modify an existing rule, you can also Do this.
Loading CSS files
Lazy loading of images, JSON, scripts, etc. is a good way to speed up page display. We can use JavaScript loaders such as curl.js to lazily load these external resources, but did you know that CSS style sheets can also be lazily loaded, and the callback function will notify you after the loading is successful.
curl(
[
"namespace/MyWidget",
"css!namespace/resources/MyWidget.css"
],
function(MyWidget) {
// You can operate on MyWidget
// There is no reference to this CSS file here because it is not needed;
// We just need it to have been loaded on the page
}
});
When all resources are loaded, the callback function will be triggered, and I can load it in the callback function. Very useful!
CSS Mouse Pointer Events
CSS Mouse Pointer Events The pointer-events property is very interesting. Its function is very similar to JavaScript. When you set this property to none, it can effectively prevent Disabling this element, you might say "so what?", but in fact, it disables any JavaScript events or callback functions on this element!
.disabled { pointer-events: none; }
Click this element, you You will find that any listeners you place on this element will not trigger any events. A fantastic feature, really - you no longer need to check whether a certain CSS class exists in order to prevent an event from being triggered.
These are 5 ways to interact with CSS and JavaScript that you may not have discovered yet. Do you have any new discoveries? Share it!

Detailed explanation of JavaScript string replacement method and FAQ This article will explore two ways to replace string characters in JavaScript: internal JavaScript code and internal HTML for web pages. Replace string inside JavaScript code The most direct way is to use the replace() method: str = str.replace("find","replace"); This method replaces only the first match. To replace all matches, use a regular expression and add the global flag g: str = str.replace(/fi

So here you are, ready to learn all about this thing called AJAX. But, what exactly is it? The term AJAX refers to a loose grouping of technologies that are used to create dynamic, interactive web content. The term AJAX, originally coined by Jesse J

10 fun jQuery game plugins to make your website more attractive and enhance user stickiness! While Flash is still the best software for developing casual web games, jQuery can also create surprising effects, and while not comparable to pure action Flash games, in some cases you can also have unexpected fun in your browser. jQuery tic toe game The "Hello world" of game programming now has a jQuery version. Source code jQuery Crazy Word Composition Game This is a fill-in-the-blank game, and it can produce some weird results due to not knowing the context of the word. Source code jQuery mine sweeping game

Article discusses creating, publishing, and maintaining JavaScript libraries, focusing on planning, development, testing, documentation, and promotion strategies.

This tutorial demonstrates how to create a captivating parallax background effect using jQuery. We'll build a header banner with layered images that create a stunning visual depth. The updated plugin works with jQuery 1.6.4 and later. Download the

The article discusses strategies for optimizing JavaScript performance in browsers, focusing on reducing execution time and minimizing impact on page load speed.

Matter.js is a 2D rigid body physics engine written in JavaScript. This library can help you easily simulate 2D physics in your browser. It provides many features, such as the ability to create rigid bodies and assign physical properties such as mass, area, or density. You can also simulate different types of collisions and forces, such as gravity friction. Matter.js supports all mainstream browsers. Additionally, it is suitable for mobile devices as it detects touches and is responsive. All of these features make it worth your time to learn how to use the engine, as this makes it easy to create a physics-based 2D game or simulation. In this tutorial, I will cover the basics of this library, including its installation and usage, and provide a

This article demonstrates how to automatically refresh a div's content every 5 seconds using jQuery and AJAX. The example fetches and displays the latest blog posts from an RSS feed, along with the last refresh timestamp. A loading image is optiona


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

MinGW - Minimalist GNU for Windows
This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

ZendStudio 13.5.1 Mac
Powerful PHP integrated development environment

VSCode Windows 64-bit Download
A free and powerful IDE editor launched by Microsoft

DVWA
Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software

mPDF
mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),