- 基础通用
- 基础 - 全局样式
- 基础 - Sass
- 基础 - JavaScript
- 基础 - JavaScript 工具
- 基础 - 媒体查询
- 基础 - 网格系统
- 基础 - Flex 网格
- 基础 - 表单
- 基础 - 可见性类
- 基础 - 基本排版
- 基础 - 排版辅助类
- 基础 - 基本控件
- 基础 - 导航
- 基础 - 容器
- 基础 - 媒体
- 基础 - 插件
- 基础 SASS
- 基础 - Sass 函数
- 基础 - Sass 混合宏
- 基础库
- 基础 - Motion UI
基础 - JavaScript 工具
Foundation 包含用于添加常见功能的 JavaScript 工具。它非常有用且易于使用。此 JavaScript 工具库可以在 Your_folder_name/node_modules/foundation-sites/js 文件夹中找到。
盒子
Foundation.Box 库包含一些方法。
js/foundation.util.box.js 是脚本文件名,在编写代码时可以包含它。
两种方法都可以传递 jQuery 对象或纯 JavaScript 元素。
var dims = Foundation.Box.GetDimensions(element);
返回的对象指定了元素的尺寸,如下所示:
{ 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: ... } }
包含 ImNotTouchingYou 函数。
根据传递的元素,返回一个布尔值,表示是否与窗口边缘或可选的父元素冲突。
下面给出的行中指定的两个选项,即 leftAndRightOnly、topAndBottomOnly,用于仅识别一个轴上的碰撞。
var clear = Foundation.Box.ImNotTouchingYou ( element [, parent, leftAndRightOnly, topAndBottomOnly]);
键盘
Foundation.Keyboard 中有许多方法,有助于简化键盘事件交互。
js/foundation.util.keyboard.js 是脚本文件名,在编写代码时可以包含它。
对象 Foundation.Keyboard.keys 包含键值对,其中键在框架中更常使用。
每当按下键时,就会调用 Foundation.Keyboard.parseKey 以获取字符串。这有助于管理您自己的键盘输入。
以下代码用于查找给定$element内的所有可聚焦元素。因此,您无需编写任何函数和选择器。
var focusable = Foundation.Keyboard.findFocusable($('#content'));
handleKey 函数是此库的主要函数。
此方法用于处理键盘事件;每当任何插件向实用程序注册时,都可以调用它。
Foundation.Keyboard.register('pluginName', { 'TAB': 'next' }); ...//in event callback Foundation.Keyboard.handleKey(event, 'pluginName', { next: function(){ //do stuff } });
当您想使用自己的键绑定时,可以调用 Foundation.Keyboard.register 函数。
媒体查询
MediaQuery 库是所有响应式 CSS 技术的支柱。
js/foundation.util.mediaQuery.js 是脚本文件名,在编写代码时可以包含它。
Foundation.MediaQuery.atLeast('large') 用于检查屏幕宽度是否至少与断点一样宽。
Foundation.MediaQuery.get('medium') 获取断点的媒体查询。
Foundation.MediaQuery.queries 是媒体查询的数组,Foundation 用于断点。
Foundation.MediaQuery.current 是当前断点大小的字符串。
Foundation.MediaQuery.get('medium'); Foundation.MediaQuery.atLeast('large'); Foundation.MediaQuery.queries; Foundation.MediaQuery.current;
以下代码在窗口上广播媒体查询更改。
$(window).on('changed.zf.mediaquery', function(event, newSize, oldSize){});
运动与移动
Foundation.Motion javascript 类似于 Motion UI 库,该库包含在 Foundation 6 中。它用于创建自定义 CSS 过渡和动画。
js/foundation.util.motion.js 是脚本文件名,在编写代码时可以包含它。
Foundation.Move 用于使 CSS3 支持的动画简单而优雅。
requestAnimationFrame(); 方法告诉浏览器执行动画;它请求在浏览器执行下一次重绘之前调用您的动画函数。
Foundation.Move(durationInMS, $element, function() { //animation logic });
动画完成后,将触发 finished.zf.animate。
计时器与图像加载
Orbit 使用计时器函数和图像加载。js/foundation.util.timerAndImageLoader.js 是脚本文件名,在编写代码时可以包含它。
var timer = new Foundation.Timer($element, {duration: ms, infinite: bool}, callback);
图像加载方法在图像完全加载时在您的 jQuery 集合中运行回调函数。
Foundation.onImagesLoaded($images, callback);
触摸
这些方法用于向元素添加伪拖动事件和滑动。
js/foundation.util.touch.js 是脚本文件名,在编写代码时可以包含它。
addTouch 方法用于将元素绑定到 Slider 插件中移动设备的触摸事件。
spotSwipe 方法将元素绑定到 Orbit 插件中移动设备的滑动事件。
$('selector').addTouch().on('mousemove', handleDrag); $('selector').spotSwipe().on('swipeleft', handleLeftSwipe);
触发器
它为选定的元素触发指定的事件。
js/foundation.util.triggers.js 是脚本文件名,在编写代码时可以包含它。
触发器在许多 Foundation 插件中使用。
$('selector').on('open.zf.trigger', handleOpen); $('selector').on('close.zf.trigger', handleClose); $('selector').on('toggle.zf.trigger', handleToggle);
此库中使用了以下两种方法,即 resize 和 scroll。
resize() 方法在发生 resize 事件时触发 resize 事件。
scroll() 方法在发生 scroll 事件时触发 scroll 事件。
$('#someId').on('scrollme.zf.trigger', handleScroll); $('#someId').on('resizeme.zf.trigger', handleResize);
其他
Foundation 在核心库中包含一些功能,这些功能在许多地方使用。
js/foundation.core.js 是脚本文件名,在编写代码时可以包含它。
Foundation.GetYoDigits([number, namespace]) 返回一个带有命名空间的随机 36 进制 uid。默认情况下,它返回长度为 6 个字符的字符串。
Foundation.getFnName(fn) 返回 JavaScript 函数名称。
Foundation.transitionend 在 CSS 过渡完成后发生。