Foundation includes JavaScript utilities which are used to add common functionalities. It is very helpful and easy to use. This JavaScript utilities library can be found in the folder Your_folder_name/node_modules/foundation-sites/js
Box
- Foundation.Box library consists couple of methods.
- The js/foundation.util.box.js is the script filename which can be included while writing the code.
- Either jQuery objects or plain JavaScript elements can be pass to both methods.
var dims = Foundation.Box.GetDimensions(element);The returned object specifies the dimension of the element as:
{ height: 54, width: 521, offset: { left: 198, top: 1047 }, parentDims: { height: ... //The same format is share for parentDims and windowDims as the element dimensions. }, windowDims: { height: ... } }
- Function ImNotTouchingYou is included.
- Based on the passed element the boolean value is returned which is either conflict with edge of the window or optional or a parent element.
- The two option specified in the line below i.e. leftAndRightOnly, topAndBottomOnly is used to identify the collision on only one axis.
var clear = Foundation.Box.ImNotTouchingYou(element [, parent, leftAndRightOnly, topAndBottomOnly]);
Keyboard
- There are many methods in Foundation.Keyboard which helps to make the keyboard event interaction easy.
- The js/foundation.util.keyboard.js is the script filename which can be included while writing the code.
- The object Foundation.Keyboard.keys consist key/value pairs which keys are used in the framework more frequently.
- Whenever the key is pressed then Foundation.Keyboard.parseKey is called to get a string. This helps to manage your own keyboard inputs.
var focusable = Foundation.Keyboard.findFocusable($('#content'));
- The handleKey function is a main function of this library.
- This method is used to handle the keyboard event; it can be called whenever any plugin is registered with the utility.
Foundation.Keyboard.register('pluginName', { 'TAB': 'next' }); ...//in event callback Foundation.Keyboard.handleKey(event, 'pluginName', { next: function(){ //do stuff } });Foundation.Keyboard.register function can be call when you want to use your own key bindings.
MediaQuery
- MediaQuery library is a backbone of all responsive CSS technique.
- The js/foundation.util.mediaQuery.js is the script filename which can be included while writing the code.
- The Foundation.MediaQuery.atLeast('large') is used to check if the screen is at least as wide as a breakpoint.
- The Foundation.MediaQuery.get('medium') gets the media query of a breakpoint.
- The Foundation.MediaQuery.queries are an array of media queries, Foundation uses for breakpoints.
- Foundation.MediaQuery.current is a string of the current breakpoint size.
Foundation.MediaQuery.get('medium'); Foundation.MediaQuery.atLeast('large'); Foundation.MediaQuery.queries; Foundation.MediaQuery.current;The below code broadcast the media query change on the window.
$(window).on('changed.zf.mediaquery', function(event, newSize, oldSize){});
Motion & Move
- Foundation.Motion javascript is similar to Motion UI library which is included in the Foundation 6. It is used to create custom CSS transitions and animations.
- The js/foundation.util.motion.js is the script filename which can be included while writing the code.
- Foundation.Move is used to make CSS3 backed animation simple and elegant.
- requestAnimationFrame(); method tells browser to perform an animation, it request that your animation function be called before the browser performs the next repaint.
Foundation.Move(durationInMS, $element, function(){ //animation logic });When the animation is completed the finished.zf.animate is fired.
Timer & Images Loaded
Orbit uses both the function timer and image loaded. The js/foundation.util.timerAndImageLoader.js is the script filename which can be included while writing the code.var timer = new Foundation.Timer($element, {duration: ms, infinite: bool}, callback);The image loaded method runs a callback function in your jQuery collection when images are completely loaded.
Foundation.onImagesLoaded($images, callback);
Touch
- The methods are used for adding pseudo drag events and swipe to elements.
- The js/foundation.util.touch.js is the script filename which can be included while writing the code.
- The addTouch method is used to bind elements to touch events in the Slider plugin for mobile devices.
- The spotSwipe method binds elements to swipe events in the Orbit plugin for mobile devices.
$('selector').addTouch().on('mousemove', handleDrag); $('selector').spotSwipe().on('swipeleft', handleLeftSwipe);
Triggers
- It triggers the specified event for the selected elements.
- The js/foundation.util.triggers.js is the script filename which can be included while writing the code.
- The triggers are utilized in many Foundation plugin.
$('selector').on('open.zf.trigger', handleOpen); $('selector').on('close.zf.trigger', handleClose); $('selector').on('toggle.zf.trigger', handleToggle);Below there are two methods used in this library i.e. resize and scroll.
- The resize() method triggers the resize event when a resize event occurs.
- The scroll() method triggers the scroll event when a scroll event occurs.
$('#someId').on('scrollme.zf.trigger', handleScroll); $('#someId').on('resizeme.zf.trigger', handleResize);
Miscellaneous
- Foundation contains few features in the core library which are used in many places.
- The js/foundation.core.js is the script filename which can be included while writing the code.
- Foundation.GetYoDigits([number, namespace]) returns a random base-36 uid with namespacing. It returns the string length of 6 characters long by default.
- Foundation.getFnName(fn) returns a JavaScript function name.
- Foundation.transitionend occurs when CSS transition has completed.
No comments:
Post a Comment