上讲回顾:Bootstrap组件丰富同时具有良好可扩展性,能够很好地应用在生产环境。这些组件包括按钮(Button),导航(Navigation),缩略图( thumbnails),提醒(Alert),进度条(progress bar)等,能够很好减少前端工程师的代码量,实现更加丰富充实的页面。
Bootstrap作为一套良好的前端工具,要实现现代的动态页面效果,javascript插件是必不可少的。它提供了12个基于JQuery类库的插件,包括模态窗口(Modals),滚动监控(Scrollspy),标签效果(Tabs),提示效果(Tooltip),“泡芙”效果(popovers),警告区域(Alerts),折叠效果(Collapse),旋转木马(carousel),输入提示(typeahead)等.这些内容会分作两讲来阐述,本讲将深入讲解modals等插件。在bootstrap中所有涉及动画效果的javascript插件,都必须先引用Transitions JS,包括modals,alerts等来实现淡出效果。
1.模态窗口(Modals)
模态窗口是指除非采取有效的关闭手段,用户的鼠标焦点或者输入光标将一直停留在其上的窗口(对话框).Bootstrap对于模态窗口的实现十分精简灵活,用户只需要使用少量的代码和智能的默认设置,即能实现传统实现传统的Javascript效果的模态窗口。默认的Bootstrap模态窗口效果,包括对话框从屏幕上方落下,屏幕其他区域变暗淡,模态窗口的隐藏等。这些效果分别对应.modal .fade .hide 这些类。我们可以不用写任何javascript代码来实现Modal效果,只需要将 data-toggle="modal"
放置于在触发控制要素(如按钮,超链接等),并指定它的Modal窗口的ID链接(data-target="#mymodal",href="#mymodal"
)。当这些控制要素被触发的时候,modal窗口就会出现了。模式窗口的内容可以非常丰富,这些内容都需要包括在modal的div内,并可以定义modal窗口的头部,内容和脚部。
如果使用Jquery调用Modal,也只需要一行javascript代码,
$('#myModal').modal(options)
该选项包括backdrop,keyboard,show三项,主要控制模态窗口的动作。Modal的方法主要包括show,hide,toogle等,主要用于模态窗口的状态控制。Modal的触发事件包括shown,hiden等,主要用于控制模态窗口的功能触发控制。具体效果可以到官方文档的该处尝试一下,点击Launch demo modal按钮即可。Modal的实现如图4-1所示:
图4-1 模态窗口(Modal)
代码如下:
<!--rating modal's content--> <div id="ratyService" class="modal hide fade"> class="modal-header"> button type="button"="close" data-dismiss="modal">×</buttonh3>添加收藏: 我买过这个服务> div>Modal header="modal-body"> ="row"div ="span1"></="span4 ">求评价(@^_^@) : ="span4" id="ratingstar" ="span1"="target"> Modal body="modal-footer"a href="#"="btn"="modal" >Closea="btn btn-primary">Save changesModal footer--> > Modal-->
2.滚动监控(Scrollspy)
滚动监控是用来自动更新导航位置基于用户页面滚动的位置。实现该效果,也只需要在你想监控的滚动要素上,添加data-spy="scroll",一般是在body上添加。使用jquery同样调用方法比较简单,只需要一行代码:$('#navbar').scrollspy() .该插件只有refresh方法,offset属性等。具体效果可以到官方文档的该处尝试一下。
效果如图4-2所示:
图4-2 滚动监控(Scrollspy)
代码如下:
="navbarExample"="navbar navbar-static"="navbar-inner"="container" style="width: auto;"> ="brand" href="#">Project Nameul ="nav"> li><="#fat">@fat="#mdo">@mdoli ="dropdown"> ="dropdown-toggle" data-toggle>Dropdown b ="caret"b="dropdown-menu"> ="#one">one="#two">two="divider"="#three">threeul> data-spy="scroll" data-target="#navbarExample" data-offset="0"="scrollspy-example"h4 ="fat"h4p Ad leggings keytar,brunch id art party dolor labore. Pitchfork yr enim lo-fi before they sold out qui. Tumblr farm-to-table bicycle rights whatever. Anim keffiyeh carles cardigan. Velit seitan mcsweeney's photo booth 3 wolf moon irure. Cosby sweater lomo jean shorts,williamsburg hoodie minim qui you probably haven't heard of them et cardigan trust fund culpa biodiesel wes anderson aesthetic. Nihil tattooed accusamus,cred irony biodiesel keffiyeh artisan ullamco consequat. ="mdo" Veniam marfa mustache skateboard,adipisicing fugiat velit pitchfork beard. Freegan beard aliqua cupidatat mcsweeney's vero. Cupidatat four loko nisi,ea helvetica nulla carles. Tattooed cosby sweater food truck,mcsweeney's quis non freegan vinyl. Lo-fi wes anderson +1 sartorial. Carles non aesthetic exercitation quis gentrify. brooklyn adipisicing craft beer vice keytar deserunt. ="one" Occaecat commodo aliqua delectus. Fap craft beer deserunt skateboard ea. Lomo bicycle rights adipisicing banh mi,velit ea sunt next level locavore single-origin coffee in magna veniam. High life id vinyl,echo park consequat quis aliquip banh mi pitchfork. Vero VHS est adipisicing. Consectetur nisi DIY minim messenger bag. Cred ex in,sustainable delectus consectetur fanny pack iphone. ="two" In incididunt echo park,officia deserunt mcsweeney's proident master cleanse thundercats sapiente veniam. Excepteur VHS elit,proident shoreditch +1 biodiesel laborum craft beer. Single-origin coffee wayfarers irure four loko,cupidatat terry richardson master cleanse. Assumenda you probably haven't heard of them art party fanny pack,tattooed nulla cardigan tempor ad. Proident wolf nesciunt sartorial keffiyeh eu banh mi sustainable. Elit wolf voluptate,lo-fi ea portland before they sold out four loko. Locavore enim nostrud mlkshk brooklyn nesciunt. ="three"Keytar twee blog,culpa messenger bag marfa whatever delectus food truck. Sapiente synth id assumenda. Locavore sed helvetica cliche irony,thundercats you probably haven't heard of them consequat hoodie gluten-free lo-fi fap aliquip. Labore elit placeat before they sold out,terry richardson proident brunch nesciunt quis cosby sweater pariatur keffiyeh ut helvetica artisan. Cardigan craft beer seitan readymade velit. VHS chambray laboris tempor veniam. Anim mollit minim commodo ullamco thundercats. >
3.标签效果(Tabs)
标签插件添加了快速的动态的tab和pill,来实现过渡页面内容的效果。同样的,我们可以不用写任何javascript代码来实现该效果,我们只需要在tab或者piil页面要素上简单地添加上nav 和nav-tabs并引用该js文件即可。同时可以使用ul标签来样式化你的要素。具体效果可以到官方文档的该处尝试一下。效果如图4-3所示:
代码如下:
4.2 “泡芙”效果(popovers)
“泡芙”效果就是将一些次要的内容作为一个小的叠加层展添加到具体页面要素上,实现ipad风格的提示效果(实际上就是放大版的tooltip)。因此实现“泡芙”效果(popovers)首先需要引用tooltips插件。我们先来看看“泡芙”效果(popovers)的html的写法。
$('#example').popover(options)
而它的属性与tooltip几乎完全一样……只多一个content,用来存储叠加的内容。效果如图4-5所示:
图4-5 “泡芙”效果(popovers)
代码如下所示:
="span3 "> i =" icon-white icon-share"i> >
参考文献与延伸阅读:
1.Modal window http://en.wikipedia.org/wiki/Modal_window
2. 模态窗口和非模态窗口 http://tgyd2006.iteye.com/blog/211497
3.Popover http://en.wikipedia.org/wiki/Popover
本作品由VentLam创作,采用知识共享署名-非商业性使用-相同方式共享 2.5 中国大陆许可协议进行许可。