![Oracle Drags Its Feet in the JavaScript Trademark Dispute](https://cdn.sanity.io/images/cgdhsj6q/production/919c3b22c24f93884c548d60cbb338e819ff2435-1024x1024.webp?w=400&fit=max&auto=format)
Security News
Oracle Drags Its Feet in the JavaScript Trademark Dispute
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
toolslide.js
Advanced tools
Minimalistic customizable slide panel (without jQuery)
Several quick start options are available:
bower install toolslide.js --save
npm install toolslide.js --save
Done!
<link rel="stylesheet" href="/path/to/toolslide.css">
<script src="/path/to/toolslide.js"></script>
<div id="toolslide">
<div class="ts-container">
<div class="ts-nav-container">
<div class="ts-nav-item" ts-target="first">
</div>
<!-- Add more navigation buttons here -->
</div>
<div class="ts-content-container">
<div id="first" class="ts-content-item">
<div class="example-panel">
<span>First panel content goes here</span>
</div>
</div>
<!-- Add more content panels here -->
</div>
</div>
</div>
toolslide.js
makes use of html attributes to bind navigation elements to respective content.
Attribute | Description |
---|---|
ts-target | Specifies id of a target panel triggered with this navigation item |
All you need to do is invoke toolslide on an element:
var myToolslide = toolslide(elemment, options);
You can also initialize with css selector string:
var myToolslide = toolslide("#elementId", options);
There are some example usages that you can look at to get started. They can be found in the examples folder.
toolslide.js
can accept an options object to alter the way it looks and behaves.
If no options object is passed default values are used.
The structure of an options object is as follows:
{
position: "left",
height: "100%",
width: "300px",
startOpen: true,
closeable: true,
autoclose: false,
autocloseDelay: 5000,
clickOutsideToClose: true,
minClosedSize: 0,
toggleButton: "",
embed: false,
navigationItemWidth: "50px",
navigationItemHeight: "50px",
navigationOffsetX: "0px",
navigationOffsetY: "0px",
animations: {
replace: "crossfade 0.5s ease-in-out",
toggle: "slide 0.5s ease",
},
listeners: {
beforeOpen: function(panel) {},
afterOpen: function(panel) {},
berforeClose: function(panel) {},
afterClose: function(panel) {},
beforeToggle: function(oldContent, newContent) {}
afterToggle: function(oldContent, newContent) {}
}
Here is the explanation of options object:
Option | Type | Description | Examples |
---|---|---|---|
activePanel | string, Element | Position of the panel on the screen | "#elementId" |
position | string | Position of the panel on the screen | "top", "bottom", "left", "right" |
height | string | Panel height | "200px", "20%" |
width | string | Panel width | "200px", "20%" |
startOpen | boolean | Open panel after initialization | true, false |
closeable | boolean | Allow panel to be closed (by clicking active navigation element) | true, false |
autoclose | boolean | Allow panel to be auto closed (only when mouse cursor is outside) | true, false |
autocloseDelay | int | Auto close delay in miliseconds | 5000 |
clickOutsideToClose | boolean | Allow panel to be closed when clicked outside | true, false |
minClosedSize | int | Minimum panel size when closed | 0 |
toggleButton | string | Id of an element used as external toggle button | "" |
embed | boolean | Whether to embed panel within container or overlay it | true, false |
navigationItemWidth | string, number | Width of the navigation element | "50px", "5%" |
navigationItemHeight | string, number | Height of the navigation element | "50px", "5%" |
navigationOffsetX | string, number | Horizontal offset of the navigation elements container | "0px", "5%" |
navigationOffsetY | string, number | Vertical offset of the navigation elements container | "0px", "5%" |
animations.replace | string | Animation used when changing active panel | "slide 1s ease", "slidefade 2s ease-in", { type: "crossfade", easing: "ease", speed: ".5s" } |
animations.toggle | string | Animation used when panel is opened/closed | "slide 0.5s ease", { type: "slide", easing: "ease", speed: "1s" } |
listeners.beforeOpen | function | Callback fired before panel is opened | function (panel) {...} |
listeners.afterOpen | function | Callback fired after panel is opened | function (panel) {...} |
listeners.beforeClose | function | Callback fired before panel is closed | function (panel) {...} |
listeners.afterClose | function | Callback fired after panel is closed | function (panel) {...} |
listeners.beforeToggle | function | Callback fired before active content is changed | function (old, new) {...} |
listeners.afterToggle | function | Callback fired after active content is changed | function (old, new) {...} |
Methods are called on toolslide instances. You shoud save the instances to variable to have further access to it.
Show the slide panel.
toolslide.open();
Hide the slide panel.
toolslide.close();
Check if panel is opened.
toolslide.isOpen();
Check if target content element is active. Accepts DOM element as well as just the id.
toolslide.isOpen("elementId");
Sets element with specified id as new active item.
toolslide.setActiveById("elementId");
Sets element at specified index as active item.
toolslide.setActiveByIndex(0);
toolslide.js
provides custom events for some of it's actions. Appropriate callbacks can be specified in options.
Event | Description | Arguments |
---|---|---|
beforeOpen | Fires before panel is opened. | panelElement |
afterOpen | Fires after panel is opened. | panelElement |
beforeClose | Fires before panel is closed. | panelElement |
afterClose | Fires after panel is closed. | panelElement |
beforeToggle | Fires before active content is changed. | oldContentElement, newContentElement |
afterToggle | Fires after active content is changed. | oldContentElement, newContentElement |
Licensed under MIT license.
FAQs
Minimalistic customizable sliding panel without jQuery
The npm package toolslide.js receives a total of 13 weekly downloads. As such, toolslide.js popularity was classified as not popular.
We found that toolslide.js demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
Security News
The Linux Foundation is warning open source developers that compliance with global sanctions is mandatory, highlighting legal risks and restrictions on contributions.
Security News
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.