Fixed broken lazy loading when set to "lazy-hidden"
Fixed missing interpolation overhaul
1.5.0:
Features:
New setting: "template"
Value: string (a CSS selector)
Default: null
Create an HTML template to use instead of (or with) the 'pages' setting
Can be more intuitive and easier to set up if your carousel contains more than just images
New setting: "loadTimeout"
Value: number (milliseconds)
Default: 10000 (10 seconds)
Specifies the number of milliseconds before attempting to load a background image from the "pages" setting is considered unsuccessful
New setting: "precomputeInterpolation"
Value: number (between 0 and 1)
Default: null
Sets the step between values that are precomputed for the "interpolation" setting
Useful when using a relatively expensive motion curve. Otherwise, enabling this is probably more expensive
Interpolation setting overhaul
Options within "interpolation" have been renamed for clarity and ease of use
Added the "curve" option: specify a function to make interpolation follow a curve instead of being linear
"html" within "pages" setting now supports JS DOM objects in addition to HTML strings
Scripting module onDragStart and onDragEnd callbacks are passed the mouse event object
Module files
All files are now modules. Use import to use the plugin
Bugfixes:
Fixed some issues with throttled scrolling
Fixed some issues with interactions being allowed during transitions
General performance improvements
1.4.0:
Features:
Scripting Module
Provides methods for controlling, listening to, and modifying Roundabout carousels
New lazy loading type: "lazy-hidden"
All initially visible images and images within one scroll in each direction load after the page has loaded
All other pages wait to be loaded until they are within one scroll
New class: ".roundabout-[CAROUSEL_ID]-page"
Applied to every individual page
Allows for group styling of all pages within one unique carousel
New mode: "gallery"
Pages remain in the same place, and fade in and out
New settings:
type
Values: "slider", "gallery"
Default: "slider"
Selects the type of carousel to use
interpolate
Values: objects (each must have a "value", "between", and "unit" property)
Default: [ ]
Calculates intermediate values between active and non-active pages while swiping
swipeSnap
Values: true, false
Default: true
Enables or disables snapping to pages when swipe is ended
swipeSpeedThreshold
Value: integer
Default: 1200
Sets the speed (in pixels/second) that a swipe must exceed to advance to the next page
Can be used alongside swipeThreshold - when either setting's condition is met, the carousel will advance
rotation
Values: "none", "left", "right"
Default: "none"
Changes the way that swipe interactions are handled to allow for 90-degree rotations
scrollWheel
Values: true, false
Default: false
Allows for a scroll wheel event over the carousel to advance the carousel instead of scrolling the webpage
ignoreErrors
Values: true, false
Default: false
Allows for error checking to be disabled
Not recommended for general use cases. Only enable if you are sure you know what you're doing
Bugfixes:
Fixed an error when scrolling next while navigationTrim is enabled and the number of pages to the right was less than scrollBy
Fixed non-visible pages being positioned incorrectly when scrolling previous. This is a possible fix for transitions that have bounce showing a missing page
Fixed duplicate event listeners (again)
Other:
Default for breakpoints setting has been removed and set to [ ]
Swipe is currently unsupported on carousels with 2 pages. A solution is being worked on to fix the display issues caused in this case
v1.3.1:
Bugfixes:
Fixed an error when disabling buttons
v1.3.0:
Features:
Restructured the way settings are input to allow for editor autocomplete
New settings:
breakpoints
Values: objects (each must have a "width" property)
Default: [ {width: 300, swipeThreshold: 50} ]
Allows for breakpoints to be set that will override the default values given at initialization (intended for mobile use)
listenForResize
Values: true, false
Default: false
Sets a listener for window resize to check for breakpoints
buttons
Values: true, false
Default: true
Enables or disables the next and previous navigation buttons
Bugfixes:
Fixed swipeThreshold changing when more than one page was displayed
Standardized the name of the pageSpacingMode setting (previously was spacingMode)
Fixed background-size and background-position missing from CSS, removed these properties being automatically set on initialization
Fixed non-trimmed nav bubbles not being given the correct active/inactive classes
Fixed hitching when using pageSpacingMode set to "evenly"
Removed throttleMatchTransition option (leftover development helper)
Fixed duplicate event listeners
Fixed several issues related to autoscroll timings
v1.2.1:
Features:
Pages that are visible now gain a unique class
Can be used to stylize pages that are in specific positions
Removed enlargeCenter option
Removed sizeFalloff option
v1.2.0:
Features:
Complete overhaul of the CSS system
Now much more intuitive, uses an external stylesheet for easy changes and complete visual freedom
Removed visualPreset option
Removed autoGenCSS option
New settings:
lazyLoad
Values: "all", "hidden", "none"
Default: "none"
Selects the type of lazy loading to use for background images specified in the pages setting
uiEnabled
Values: true, false
Default: true
Enables or disables the UI. Disabled UIs are skipped during the generation of carousel elements
nextHTML
Value: HTML string
Default: SVG Right Arrow
Replaces the 'next' arrow with custom HTML
prevHTML
value: HTML string
Default: SVG Left Arrow
Replaces the 'previous' arrow with custom HTML
Bugfixes:
Fixed non-infinite carousels being abke to scroll 1 page past the left side
Fixed snapping back to initial position when scrolling very far past the end of non-infinite carousels
v1.1.0:
Features:
HTML for pages
HTML elements can be added to pages via the 'html' property in the 'pages' array
CSS can also be added via the 'css' property
Better settings validation
HTML elements in pages can now be protected from interactions or be interactible
Bugfixes:
Setting names have been standardized to normal camel case
Fixed inconsistencies in documentation and template files
v1.0.0:
Features:
Carousel type "normal"
All pages are next to each other and move in sync
Swipe/draggable, support for a nav bar and scroll buttons