material-cards是一款基于谷歌Material color palette的Material Design风格的人物信息介绍卡片设计。该插件可以简单使用jQuery代码来实现,也可以以jQuery插件的形式来管理各种参数选项。
安装
你可以通过bower来安装该Material Design风格卡片插件。
bower install material-cards |
使用方法
你可以通过简单的jQuery代码来实现这个Material Design风格卡片效果,如DEMO1。或者也可以使用jquery.material-cards.js来将它作为jQuery插件的形式来使用,以管理各种参数,方法和事件。
< script src = "js/jquery.material-cards.js" ></ script > |
HTML结构
一张信息卡片的基本HTML结构如下:
< article class = "material-card Red" > < h2 > < span >Christopher Walken</ span > < strong > < i class = "fa fa-fw fa-star" ></ i > The Deer Hunter </ strong > </ h2 > < div class = "mc-content" > < div class = "img-container" > < img class = "img-responsive" src = "img/thumb-christopher-walken.jpg" > </ div > < div class = "mc-description" > 人物描述信息... </ div > </ div > < a class = "mc-btn-action" > < i class = "fa fa-bars" ></ i > </ a > < div class = "mc-footer" > < h4 > Social </ h4 > < a class = "fa fa-fw fa-facebook" ></ a > < a class = "fa fa-fw fa-twitter" ></ a > < a class = "fa fa-fw fa-linkedin" ></ a > < a class = "fa fa-fw fa-google-plus" ></ a > </ div > </ article > |
初始化插件
在页面DOM元素加载完毕之后,可以通过下面的方法来初始化该Material Design风格卡片插件。
$( '.material-card' ).materialCard(options); |
配置参数
options = { icon_close : 'fa-arrow-left' , //string icon_open : 'fa-bars' , //string icon_spin : 'fa-spin-fast' , //string card_activator : 'click' //string: click or hover }); |
图标使用的是 Font Awesom字体图标,fa-spin-fast
和fa-spin相同,但是会旋转得更快一些。
默认的card_activator
是鼠标点击事件,你也可以设置为鼠标滑过事件(这会将按钮移除)。
方法
toggle
:改变选择的卡片的状态。$(
'.material-card'
).materialCard(
'toggle'
);
open
:打开选择的卡片。$(
'.material-card'
).materialCard(
'open'
);
close
:关闭选择的卡片。$(
'.material-card'
).materialCard(
'close'
);
isOpen
:检查卡片的状态,返回true
或false
。if
($(
'.material-card:eq(3)'
).materialCard(
'isOpen'
) ===
true
) {
// do something
}
事件
show.material-card
:在open
方法被调用时会立刻被触发。shown.material-card
:当卡片变为可见时触发(会等到CSS transitions结束才触发)。hide.material-card
:在close
方法被调用时会立刻被触发。hidden.material-card
:当卡片被隐藏时触发(会等到CSS transitions结束才触发)。
应用举例
$( '.material-card' ).on( 'shown.material-card' , function (event) { console.log(event.type, event.namespace, $( this )); //that return //shown material-card [article.material-card...] }); |
var fullCardEvent = 'shown.material-card show.material-card hide.material-cards hidden.material-cards' ; $( '.material-cards' ).on(fullCardEvent, function (event) { // do something }); |