DynamicLoaderJS
DynamicLoaderJS is a lightweight JavaScript library that enables dynamic loading of content into web pages without page refresh. It provides a simple and flexible way to update specific sections of a website, such as the main content area, header, or footer, without reloading the entire page.
Table of Contents
Features
- Dynamic loading of content into HTML elements
- Smooth animation effects during content transition
- Support for loading specific sections like header and footer
- URL update without page refresh
- Custom events for content load completion
- Ability to load CSS and JavaScript files dynamically
- Built-in loader element for visual feedback during content loading
Autoload
Run the autoload function after every function happened, because js can't target the new rendered html. So, that nesting of elements can happen. (Optional)
DynamicLoader.autoLoad();
Installation
You can include DynamicLoaderJS in your project by downloading the DynamicLoader.js file and including it in your HTML file:
<script src="path/to/DynamicLoader.js"></script>
Alternatively, you can use a CDN by including the following script tag in your HTML file:
<script src="https://cdn.jsdelivr.net/gh/SH20RAJ/DynamicLoaderJS@main/DynamicLoader.js"></script>
Usage
- Add the
data-load
attribute to the HTML element where you want to load the content. Set the value of data-load
to the URL of the content you want to load.
<div data-load="page1.html" data-target="#content"></div>
- The
data-load
attribute specifies the URL of the content to be loaded. - The
data-target
attribute specifies the selector of the target element where the content will be loaded.
- Optionally, you can add the
data-loader
attribute to show a loader during content loading. Set data-loader
to "true" to enable the loader. - Use
data-title
to change the document title after click.
<div data-load="page1.html" data-target="#content" data-loader="true" data-title="Page1"></div>
- You can also load specific sections like header and footer separately. Add the
data-load
attribute to the respective HTML element and specify the target selector using the data-target
attribute.
<header data-load="header.html" ></header>
<footer data-load="footer.html" ></footer>
- To load CSS or JavaScript files dynamically, use the
loadFile
function with the URL of the file and the file type as parameters.
DynamicLoader.loadFile('https://cdn.example.com/styles.css', 'css');
DynamicLoader.loadFile('https://cdn.example.com/script.js', 'js');
- You can also load content into an element using JavaScript by calling
DynamicLoader.load()
and passing the selector, URL, and optional loader element.
DynamicLoader.load('#op', 'page3.html');
This will load the content from page3.html
into the element with the selector #op
.
Examples
For detailed usage examples, please refer to the Examples directory in this repository.
Contributing
Contributions are welcome! If you have any ideas, suggestions, or bug reports, please create an issue or submit a pull request.
License
This project is licensed under the MIT License.
Credits
Created with ❤️ by SH20RAJ