-
Notifications
You must be signed in to change notification settings - Fork 0
Change log
Wiki Pages: Home | FAQ | Setup | Options | Usage | Events | Change | Credits
- Clicking on side panels should not follow the link. A better fix for issue #67.
- Clicking on the side panels that are completely wrapped in a link should no longer open that link. Attempt to fix issue #67.
- Clicking on panels to switch will now trigger callbacks. Fix for issue #66.
- Fixed a problem with multiple initializations.
- Remove the name attribute from inputs in cloned panels.
- Fixed a bug introduced in the last update where the last panel would be misaligned when scrolling in the previous direction.
-
Added
initAnimationoption:- When
true(default), MovingBoxes will show the initial animation starting from the first panel and sliding into the current panel (as determined by the hash orstartPaneloption). - If
false, no animation will be seen and MovingBoxes will start on the appropriate panel.
- When
-
The update method now has a flag to prevent callbacks from firing and also has it's own callback:
-
Set the flag to
falseto prevent the built-in callbacks (initChange, beforeAnimation & completed) from firing during the update. This flag is useful if you plan to call the update method a lot, like when the window resizes. -
The callback for the update is used as follows:
// update(flag, callback); $('#slider').data('movingBoxes').update(false, function(slider){ alert('update complete'); });
-
-
Fixed clicking on links in the current panel would go to the next panel. Fix for issue #60.
-
Updated method of plugin initialization to hopefully ensure that the
completedcallback will not fire until after initialization. Update for issue #57. -
Fixed a problem where the navigation was clearing the current panel after using the update method.
-
Hopefully fixed the problems brought up in issue #49. So using this bit of code will allow you to set the MovingBoxes width as a percentage value.
$(function(){ $(window).resize(function(){ // get MovingBoxes plugin object var slider = $('.slider').data('movingBoxes'); // set overall width to 50% of the browser width slider.options.width = $(window).width() * 0.5; // set panel Width to be 50% of MovingBoxes width (which ends up being 25% of browser width; 50% x 50%) // OR you can set the panelWidth to a px amount, say 300 instead of a fraction: "slider.options.panelWidth = 300" slider.options.panelWidth = 0.5; // update the slider; include false flag to prevent built-in callbacks from firing (optional) slider.update(false); }).resize(); // trigger window resize to do the initial resizing. });
- Removed the
widthandpanelWidthoptions.-
The width and panel width are now set using css
-
The plugin is still backwards compatible, so setting the
widthandpanelWidthin the option will still override the css settings. -
Updated the
movingboxes.csswith the following css:```css /* Default MovingBoxes wrapper size */ #movingboxes { width: 900px; min-height: 200px; } /* Default MovingBoxes panel size */ #movingboxes > li { width: 350px; } ``` -
So, the width still should not be set to a percentage, e.g.
width: 100%, because it will not update when the window resizes. -
Here is a demo of how to resize the slider on the fly.
-
Please note that the overall width can now be much much wider than the panel, so please DON'T use the
wrapoption in this case because it just doesn't look good. -
Fixed for issue #49.
-
- The
completedcallback will no longer run immediately after initialization. Fix for issue #57.
- Clicking on panels will now work properly. Fix for issue #44.
- Modified
wrapoption to now behave like an infinite slider- When
true, the first and last MovingBoxes panels are cloned and attached to either end of the slider. - When
false, the panels will stop at either end and the appropriate navigation arrow will get thedisabledcss class applied.
- When
- Added a basic demo page to make it easier to start out with the base code.
- Added navigation buttons to the demo pages along with a link to a jsFiddle playground.
- Added
disabledoption- This option contains the css class added to the arrows when the
wrapoption is true. - When the
wrapoption is false, the slider rewinds when clicking the arrow, so it still has a function.
- This option contains the css class added to the arrows when the
- Fixed a problem where the
currentPanelclass was not being applied to the current panel. Fix for issue #35.
- Fixed a problem with the arrow buttons not working if the slider starts on any slide but the first - weird that it didn't rear it's ugly head until now... Fix for issue #34.
- Updated to not animate the panel when the
reducedSizeoption is set to1. This prevents embeded video from restarting - fix for issue #31.
- The script now prevents changing slides before it completes initialization. Fix for issue #29.
- Removed element specific resizing:
- Removed
imageRatiooption. Set the image using a percentage width and it will adjust the height automatically to maintain the image's aspect ratio. - In the script, the portion which set the height of images was removed. So now all panel content is set using css percentage values (or "em" for font sizes).
- Moved CSS, including
.mb-inside img {}to the demo.css since the layout now allows images of any size inside the panels. The dimensions should now be set in the css using a percentage value. - MovingBoxes will update a second time once the page has completely loaded. This now causes a vertical height resizing animation in webkit browsers. One way to work around this is to set the image height of the "current" panel - see the demo.css file.
- Removed
panelTypeoptions as the script now automatically looks for immediate children of the initialized element. You shouldn't even notice a difference. - Moved all demo related files into a demo folder.
- Fixed margins when MovingBoxes gets updated. Fix for issue #30.
- Fixed hash tags which apparently broke in the last version =/
- Adjusted width of MovingBoxes internal wrapper to fix issue #24.
- Restructured the plugin to allow updating MovingBoxes after adding or removing a panel.
- To use, simply call the plugin a second time without any options:
$('.slider').movingBoxes(); - These new changes now require a minimum of jQuery version 1.4.2 (due to the use of "delegate()").
- Restructured the layout of MovingBoxes.
- Previously, two divs were wrapped inside of the element the MovingBoxes plugin was called on. The structure was like this: #slider-one.movingBoxes.mb-slider > DIV.mb-scroll > DIV.mb-scrollContainer > .mb-panel.
- It worked, but when the element was a UL it became poorly formed HTML, because it added two divs inside the UL which wrapped all of the LI's.
- This restructuring actually only required minor changes to the css:
.mb-slideris no longer the overall wrapper, it was renamed to.mb-wrapperand.mb-scrollContainerwas renamed to.mb-slider - The new layout is DIV.movingBoxes.mb-wrapper > DIV.mb-scroll > #slider-one.mb-slider > .mb-panel
- When accessing the plugin object, you will still target the .mb-slider. So the methods, events & callbacks didn't change at all. You may not even notice a difference, unless you modified the css for your theme.
- Modified the plugin so that instead of using the
currentPanel()function to set the current panel, you can just call the plugin with a number (shortcut method). Both of these methods do the same thing: $('.slider').data('movingBoxes').currentPanel(2, function(){ alert('done!'); });$('.slider').movingBoxes(2, function(){ alert('done!'); });
- Changed default box shadow to be "inset".
- Added a separate IE stylesheet for versions < 9. Older IE versions will use a background image to add an inner shadow. It is using a png file, so it may not work properly in all older versions.
- Added more width to the scroll container. Fix for issue #19.
- Centered the image... silly css problem. Fix for issue #20.
- Moving boxes will no longer scroll when using the space bar or arrow keys inside an input, selector or textarea. Fix for issue #22.
-
Made all css class name more unique by adding a "mb-" in front. Fix for issue #15.
-
Removed font-size animation, and set percentage font sizes in the css. This reduces the amount of scripting and speeds up the script. CSS comments added to make these changes more clear.
-
Removed
panelTitleandpanelTextoptions as these sizes are now controlled as percentages in the CSS. -
Removed
panelsclass name from HTML markup. It is nowmb-panelsand automatically added by the script. -
Added
panelTypeoption. This is the jQuery selector used to find the panels.- The default value is "> div" which means target the immediate children (">") only if they are divs "div".
- For example, the first demo is now an unordered list (ul#slider-one & li) with it's
panelTypeset to "> LI" (the immediate childen of the UL). - The second demo example has divs inside of a div#slider-two. So
panelTypeis not set in the options. - If the ">" (immediate children selector) is not used, any panels that have matching elements ("LI" within a list inside the panel) will also be targeted and likely break the MovingBoxes appearance.
- If there are any issues with panels not being found, then set
panelTypeto something like ".myPanel", then just add the "myPanel" class to panel.
-
Added a "movingBoxes" namespace to all events
-
The triggered events are now as follows:
initialized.movingBoxes,initChange.movingBoxes,beforeAnimation.movingBoxesandcompleted.movingBoxes. -
The "tar" event variable is now available in all events (it wasn't included in the
initializedandcompletedevents before). -
Use it as follows:
$('#slider').bind('completed.movingBoxes', function(e, slider, tar){ // e.type = "completed", e.namespace = "movingBoxes" // tar = target panel# which is the same as current panel (slider.curPanel) when "completed" event is called alert('Now on panel #' + slider.curPanel); });
-
Note that the callback names haven't changed (don't add a ".movingBoxes" to the end when adding the callback name in the initialization options.
$('#slider').movingBoxes({ // tar = target panel# which is the same as current panel (slider.curPanel) when "completed" event is called completed : function(e, slider, tar) { alert('now on panel ' + tar); } })
-
-
Added a "slider" variable to the set method callback:
// returns panel#, scrolls to 2nd panel, then runs callback function // panel also contains the current slide #, but it's not accessible inside the callback var panel = $('.slider').data('movingBoxes').currentPanel(2, function(slider){ alert('done! now on slide #' + slider.curPanel); // callback });
-
Fixed a problem in Opera where the top half of the panel would be out of view.
-
Fixed issue #13. The page no longer scrolls to the MovingBoxes during initialization.
-
Rearranged the events & callbacks to not occur until everything has been initialized.
-
Added a callback to the set method. So you can now do this:
// returns panel#, scrolls to 2nd panel, then runs callback function var panel = $('.slider').data('movingBoxes').currentPanel(2, function(){ alert('done!'); // callback });
- Fixed issue #8, sliding glitch error which actually turned out to be a jQuery error to be fixed in jQuery 1.5... but this version completely bypasses this bug by now using scrollLeft instead of left to position the panels.
- Cleaned up and removed duplicates in the css.
- Added callbacks and triggered events:
initialized,initChange,beforeAnimationandcompleted.
- Added new "arrows.png" and "arrows.gif" to combine the separate arrow images.
- Changed the initialization of the MovingBoxes script to not give internal links focus. Without this, MovingBoxes panels not at the top of a page will make the page to scroll down.
- Fixed active panel problem introduced with the above change :P
- Removed "leftarrow.png", "rightarrow.png", "leftshadow.png" and "rightshadow.png" images.
- Added
easingoption which if set to anything other than 'linear' or 'swing' then the easing plugin would be required.
- Added
buildNavoption, which if true will build navigation links which will contain panel numbers by default. - Added
navFormatteroption. This is an optional setting which can contain a function that returns a value for each tab index. See formatting navigation link text examples above. - Added
tooltipClassoption which will be added to the navigation links, but only if anavFormatterfunction exists. Also note that the title attribute will be empty unless.the link text is hidden using a negative text-indent css class. - Added
panelTitleoption to target the title tag inside the MovingBoxes panel. Selectors or multiple tags can be included (e.g. 'h1, h2.title'). - Added
panelTextoption to target the text content of the MovingBoxes panel. This too can include a selector or multiple tags (e.g. 'p.wrap, div'). - Added the CSS class
currentto the expanded panel & updated the CSS to change the cursor to a pointer in non-"current" panels. - Thanks again to dlopez2000 for suggestions and code samples :)
- Added
fixedHeightoption, which if true will set the overall slider height to the tallest panel. - Adjusted navigation arrow css to use a percentage from top of slider instead of calculating it in the script (removed).
- Added panel height auto-resizing, in case there is extra text inside a panel - thanks dlopez2000!
- Added
hashTagsoption to enable hash tags which works with multiple sliders - thanks dlopez2000! - Added
wrapoption for psuedo wrapping of the panel when it reaches the end - making it really wrap like the AnythingSlider would bloat the code way too much. - Added external controls to allow calling
goForward()orgoBack()functions to control the slider. See example above. - Removed image arrow URLs from the options. Modified arrow image to include a hover state, then added it to the CSS.
- Fixed some problems with IE8 (and compatibility mode).
- Fixed IE keyboard navigation.
- Cleaned up and separated the CSS (demo CSS is in a separate file now).
- Reduced the amount of HTML markup - Internalized with CSS adjustment of elements (e.g. arrow images)
- Added left and right navigation arrow urls to the options. The images are added as
by the script in an attempt to reduce the amount of required HTML markup
- Removed sizing options (movingDistance, curWidth, curImgWidth, curTitleSize, curParSize).
- Added options to set overall width (width), panelWidth (50% of overall width), reducedSize (80% of currently displayed panel), imageRation (4:3 ratio to resize images to properly fit the panel).
- Added keyboard support for multiple sliders (added back arrow keys and spacebar; but not the enter key as it will follow the external links)
- Added panel centering to fix issue #2.
- Updated the index.html to give examples of different movingBox sizes and image ratios.
- Significant rewrite & conversion to a plugin (based off of http://starter.pixelgraphics.us/)
- Removed keyboard support, it would look wierd having mulitple panels moving. Maybe someone has a better method?
- Added method to get/set current displayed panel
- Keyboard support added, arrow keys, spacebar, and enter key
- Code cleaned up, number of panels and initial widths/sizes are no longer hard coded, so easier to build upon
- Clicking on non-active left or right panels also triggers animation
- Issue with double clicking fixed. Next animation can only start when current animation is complete.
- Script released to public
Wiki Pages: Home | FAQ | Setup | Options | Usage | Events | Change | Creditss)