国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
第十四節(jié),Bootstrap下拉菜單和滾動(dòng)監(jiān)聽插件

Bootstrap下拉菜單和滾動(dòng)監(jiān)聽插件

 

學(xué)習(xí)要點(diǎn):

  1.下拉菜單

  2.滾動(dòng)監(jiān)聽

 

本節(jié)課我們主要學(xué)習(xí)一下 Bootstrap 中的下拉菜單插件,這個(gè)插件在以組件的形式我們 已經(jīng)學(xué)習(xí)過(guò),那么現(xiàn)在來(lái)看看怎么和 JavaScript 交互的。

 

一.下拉菜單

聲明式用法

<div class="dropdown">    <button class="btn btn-primary" data-toggle="dropdown">        下拉菜單        <span class="caret"></span>    </button>    <ul class="dropdown-menu">        <li><a href="#">首頁(yè)</a></li>        <li><a href="#">產(chǎn)品</a></li>        <li><a href="#">資訊</a></li>        <li><a href="#">關(guān)于</a></li>    </ul></div>

聲明式用法的關(guān)鍵核心:

  1.外圍容器使用 class="dropdown"包裹;

  2.內(nèi)部點(diǎn)擊按鈕事件綁定 data-toggle="dropdown";

  3.菜單元素使用 class="dropdown-menu"。

 

 

如果按鈕在容器外部,可以通過(guò) data-target 進(jìn)行綁定?!静煌扑]】

 缺點(diǎn)列表位置需要手動(dòng)自己調(diào)整

<div class="dropdown" id="dropdown">    <ul class="dropdown-menu">        <li><a href="#">首頁(yè)</a></li>        <li><a href="#">產(chǎn)品</a></li>        <li><a href="#">資訊</a></li>        <li><a href="#">關(guān)于</a></li>    </ul></div><button class="btn btn-primary" data-toggle="dropdown" data-target="#dropdown">    下拉菜單    <span class="caret"></span></button>

 

在 JavaScript 調(diào)用中

方法

dropdown()方法,將下拉菜單按鈕執(zhí),行下拉菜單方法,在button元素使用(Bootstrap)

不推薦,下拉展開后無(wú)法隱藏

 

<div class="dropdown" id="dropdown">    <button class="btn btn-primary" id="ann">        下拉菜單        <span class="caret"></span>    </button>    <ul class="dropdown-menu">        <li><a href="#">首頁(yè)</a></li>        <li><a href="#">產(chǎn)品</a></li>        <li><a href="#">資訊</a></li>        <li><a href="#">關(guān)于</a></li>    </ul></div>

 

js

$(function () {    $('#ann').dropdown();});

 

 

 


toggle將下拉菜單默認(rèn)展開,在button元素使用(Bootstrap)

不推薦,默認(rèn)是展開的,也無(wú)法隱藏

<div class="dropdown" id="dropdown">    <button class="btn btn-primary" id="ann">        下拉菜單        <span class="caret"></span>    </button>    <ul class="dropdown-menu">        <li><a href="#">首頁(yè)</a></li>        <li><a href="#">產(chǎn)品</a></li>        <li><a href="#">資訊</a></li>        <li><a href="#">關(guān)于</a></li>    </ul></div>

js

$(function () {    $('#ann').dropdown('toggle');});

 

 

事件

下拉菜單支持 4 種事件,分別對(duì)應(yīng)彈出前、彈出后、關(guān)閉前和關(guān)閉后。

show.bs.dropdown 在 show 方法調(diào)用時(shí)立即觸發(fā)。(Bootstrap)
shown.bs.dropdown 在下拉菜單完全顯示出來(lái),并且等 CSS 動(dòng)畫完成之后觸發(fā)。(Bootstrap)
hide.bs.dropdown 在 hide 方法調(diào)用時(shí),但還未關(guān)閉隱藏時(shí)觸發(fā)。(Bootstrap)
hidden.bs.dropdown 在下拉菜單完全隱藏之后,并且等 CSS 動(dòng)畫完成之后觸發(fā)。(Bootstrap)

<div class="dropdown" id="dropdown">    <button class="btn btn-primary" data-toggle="dropdown">        下拉菜單        <span class="caret"></span>    </button>    <ul class="dropdown-menu">        <li><a href="#">首頁(yè)</a></li>        <li><a href="#">產(chǎn)品</a></li>        <li><a href="#">資訊</a></li>        <li><a href="#">關(guān)于</a></li>    </ul></div>

js

$(function () {    $('#dropdown').on('show.bs.dropdown', function () {        alert('在調(diào)用 show 方法時(shí)立即觸發(fā)!');    });    $('#dropdown').on('shown.bs.dropdown', function () {        alert('在下拉菜單完全顯示出來(lái),并且等 CSS 動(dòng)畫完成之后觸發(fā)!');    });    $('#dropdown').on('hide.bs.dropdown', function () {        alert('在 hide 方法調(diào)用時(shí),但還未關(guān)閉隱藏時(shí)觸發(fā)!');    });    $('#dropdown').on('hidden.bs.dropdown', function () {        alert('在下拉菜單完全隱藏之后,并且等 CSS 動(dòng)畫完成之后觸發(fā)!');    });});

 

 

二.滾動(dòng)監(jiān)聽

滾動(dòng)監(jiān)聽插件是用來(lái)根據(jù)滾動(dòng)條所處在的位置自動(dòng)更新導(dǎo)航項(xiàng)目,顯示導(dǎo)航項(xiàng)目高亮顯示。

基本實(shí)例

實(shí)現(xiàn)滾動(dòng)監(jiān)聽,將導(dǎo)航條li標(biāo)簽里的a標(biāo)簽的href=對(duì)應(yīng)文本標(biāo)題h4標(biāo)簽的id即可

<nav id="nav" class="navbar navbar-default">                        <!--聲明導(dǎo)航,設(shè)置導(dǎo)航默認(rèn)樣式-->    <a href="#" class="navbar-brand">Web 開發(fā)</a>                   <!--設(shè)置導(dǎo)航標(biāo)題樣式-->    <ul class="nav navbar-nav">                                     <!--設(shè)置導(dǎo)航里的導(dǎo)航樣式-->        <li><a href="#html5">HTML5</a></li>        <li><a href="#bootstrap">Bootstrap</a></li>        <li class="dropdown">                                       <!--設(shè)置聲明一個(gè)下來(lái)列表-->            <a href="#" data-toggle="dropdown">                     <!--點(diǎn)擊打開下來(lái)列表-->                JavaScript                <span class="caret"></span>                         <!--設(shè)置一個(gè)三角樣式-->            </a>            <ul class="dropdown-menu">                              <!--設(shè)置下來(lái)列表樣式-->                <li><a href="#jquery">jQuery</a></li>                <li><a href="#yui">Yui</a></li>                <li><a href="#extjs">Extjs</a></li>            </ul>        </li>    </ul></nav><div style="height: 200px; overflow: auto; position: relative;padding: 0 10px;">    <h4 id="html5">HTML5</h4>    <p>標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言下的一個(gè)應(yīng)用 HTML 標(biāo)準(zhǔn)自 1999 年 12 月發(fā)布的 HTML4.01        后,后繼的 HTML5 和其它標(biāo)準(zhǔn)被束之高閣,為了推動(dòng) Web 標(biāo)準(zhǔn)化運(yùn)動(dòng)的發(fā)展,一些公司聯(lián)        合起來(lái),成立了一個(gè)叫做 Web Hypertext Application Technology Working Group        (Web 超文本應(yīng)用技術(shù)工作組 -WHATWG) 的組織。WHATWG 致力于 Web 表單和應(yīng)用程序,        而 W3C(World Wide Web Consortium,萬(wàn)維網(wǎng)聯(lián)盟) 專注于 XHTML2.0。在 2006 年,        雙方?jīng)Q定進(jìn)行合作,來(lái)創(chuàng)建一個(gè)新版本的 HTML。</p>    <h4 id="bootstrap">Bootstrap</h4>    <p>Bootstrap,來(lái)自 Twitter,是目前很受歡迎的前端框架。Bootstrap 是基        于 HTML、CSS、JAVASCRIPT 的,它簡(jiǎn)潔靈活,使得 Web 開發(fā)更加快捷。[1] 它由 Twitter        的設(shè)計(jì)師 Mark Otto 和 Jacob Thornton 合作開發(fā),是一個(gè) CSS/HTML 框架。Bootstrap        提供了優(yōu)雅的 HTML 和 CSS 規(guī)范,它即是由動(dòng)態(tài) CSS 語(yǔ)言 Less 寫成。Bootstrap 一經(jīng)推出        后頗受歡迎,一直是 GitHub 上的熱門開源項(xiàng)目,包括 NASA 的 MSNBC(微軟全國(guó)廣播公司)        的 Breaking News 都使用了該項(xiàng)目。[2] 國(guó)內(nèi)一些移動(dòng)開發(fā)者較為熟悉的框架,如 WeX5        前端開源框架等,也是基于 Bootstrap 源碼進(jìn)行性能優(yōu)化而來(lái)。[3] </p>    <h4 id="jquery">jQuery</h4>    <p>JQuery 是繼 prototype 之后又一個(gè)優(yōu)秀的 Javascript 庫(kù)。它是輕量級(jí)的 js        庫(kù) ,它兼容 CSS3,還兼容各種瀏覽器(IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+),        jQuery2.0 及后續(xù)版本將不再支持 IE6/7/8 瀏覽器。jQuery 使用戶能更方便地處理 HTML        (標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言下的一個(gè)應(yīng)用)、events、實(shí)現(xiàn)動(dòng)畫效果,并且方便地為網(wǎng)站提供 AJAX        交互。jQuery 還有一個(gè)比較大的優(yōu)勢(shì)是,它的文檔說(shuō)明很全,而且各種應(yīng)用也說(shuō)得很詳細(xì),        同時(shí)還有許多成熟的插件可供選擇。jQuery 能夠使用戶的 html 頁(yè)面保持代碼和 html 內(nèi)容        分離,也就是說(shuō),不用再在 html 里面插入一堆 js 來(lái)調(diào)用命令了,只需要定義 id 即可。</p>    <h4 id="yui">Yui</h4>    <p>近幾年隨著 jQuery、Ext 以及 CSS3 的發(fā)展,以 Bootstrap 為代表的前端        開發(fā)框架如雨后春筍般擠入視野,可謂應(yīng)接不暇。不論是桌面瀏覽器端還是移動(dòng)端都涌現(xiàn)出        很多優(yōu)秀的框架,極大豐富了開發(fā)素材,也方便了大家的開發(fā)。這些框架各有特點(diǎn),本文對(duì)        這些框架進(jìn)行初步的介紹與比較,希望能夠?yàn)榇蠹疫x擇框架提供一點(diǎn)幫助,也為后續(xù)詳細(xì)研        究這些框架的拋磚引玉。</p>    <h4 id="extjs">Extjs</h4>    <p>ExtJS 可以用來(lái)開發(fā) RIA 也即富客戶端的 AJAX 應(yīng)用,是一個(gè)用 javascript        寫的,主要用于創(chuàng)建前端用戶界面,是一個(gè)與后臺(tái)技術(shù)無(wú)關(guān)的前端 ajax 框架。因此,可以        把 ExtJS 用在.Net、Java、Php 等各種開發(fā)語(yǔ)言開發(fā)的應(yīng)用中。ExtJs 最開始基于 YUI 技        術(shù),由開發(fā)人員 JackSlocum 開發(fā),通過(guò)參考 JavaSwing 等機(jī)制來(lái)組織可視化組件,無(wú)論        從 UI 界面上 CSS 樣式的應(yīng)用,到數(shù)據(jù)解析上的異常處理,都可算是一款不可多得的        JavaScript 客戶端技術(shù)的精品。</p></div>

 

 

滾動(dòng)監(jiān)聽屬性,都是寫在監(jiān)聽內(nèi)容區(qū)域最外層div里

data-offset 默認(rèn)值為 10,固定內(nèi)容距滾動(dòng)容器 10 像素以內(nèi),也就是內(nèi)容出現(xiàn)多少像素高亮對(duì)應(yīng)菜單,一般會(huì)設(shè)置成0。(Bootstrap)
data-spy 設(shè)置 scroll,將設(shè)置滾動(dòng)容器監(jiān)聽。必須否則將不會(huì)監(jiān)聽(Bootstrap)
data-target 設(shè)置#nav,綁定指定監(jiān)聽的菜單的id,防止監(jiān)聽多個(gè)菜單(Bootstrap)

<nav id="nav" class="navbar navbar-default">                        <!--聲明導(dǎo)航,設(shè)置導(dǎo)航默認(rèn)樣式-->    <a href="#" class="navbar-brand">Web 開發(fā)</a>                   <!--設(shè)置導(dǎo)航標(biāo)題樣式-->    <ul class="nav navbar-nav">                                     <!--設(shè)置導(dǎo)航里的導(dǎo)航樣式-->        <li><a href="#html5">HTML5</a></li>        <li><a href="#bootstrap">Bootstrap</a></li>        <li class="dropdown">                                       <!--設(shè)置聲明一個(gè)下來(lái)列表-->            <a href="#" data-toggle="dropdown">                     <!--點(diǎn)擊打開下來(lái)列表-->                JavaScript                <span class="caret"></span>                         <!--設(shè)置一個(gè)三角樣式-->            </a>            <ul class="dropdown-menu">                              <!--設(shè)置下來(lái)列表樣式-->                <li><a href="#jquery">jQuery</a></li>                <li><a href="#yui">Yui</a></li>                <li><a href="#extjs">Extjs</a></li>            </ul>        </li>    </ul></nav><div data-target="#nav" data-offset="0" data-spy="scroll" style="height: 200px; overflow: auto; position: relative;">    <h4 id="html5">HTML5</h4>    <p>標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言下的一個(gè)應(yīng)用 HTML 標(biāo)準(zhǔn)自 1999 年 12 月發(fā)布的 HTML4.01        后,后繼的 HTML5 和其它標(biāo)準(zhǔn)被束之高閣,為了推動(dòng) Web 標(biāo)準(zhǔn)化運(yùn)動(dòng)的發(fā)展,一些公司聯(lián)        合起來(lái),成立了一個(gè)叫做 Web Hypertext Application Technology Working Group        (Web 超文本應(yīng)用技術(shù)工作組 -WHATWG) 的組織。WHATWG 致力于 Web 表單和應(yīng)用程序,        而 W3C(World Wide Web Consortium,萬(wàn)維網(wǎng)聯(lián)盟) 專注于 XHTML2.0。在 2006 年,        雙方?jīng)Q定進(jìn)行合作,來(lái)創(chuàng)建一個(gè)新版本的 HTML。</p>    <h4 id="bootstrap">Bootstrap</h4>    <p>Bootstrap,來(lái)自 Twitter,是目前很受歡迎的前端框架。Bootstrap 是基        于 HTML、CSS、JAVASCRIPT 的,它簡(jiǎn)潔靈活,使得 Web 開發(fā)更加快捷。[1] 它由 Twitter        的設(shè)計(jì)師 Mark Otto 和 Jacob Thornton 合作開發(fā),是一個(gè) CSS/HTML 框架。Bootstrap        提供了優(yōu)雅的 HTML 和 CSS 規(guī)范,它即是由動(dòng)態(tài) CSS 語(yǔ)言 Less 寫成。Bootstrap 一經(jīng)推出        后頗受歡迎,一直是 GitHub 上的熱門開源項(xiàng)目,包括 NASA 的 MSNBC(微軟全國(guó)廣播公司)        的 Breaking News 都使用了該項(xiàng)目。[2] 國(guó)內(nèi)一些移動(dòng)開發(fā)者較為熟悉的框架,如 WeX5        前端開源框架等,也是基于 Bootstrap 源碼進(jìn)行性能優(yōu)化而來(lái)。[3] </p>    <h4 id="jquery">jQuery</h4>    <p>JQuery 是繼 prototype 之后又一個(gè)優(yōu)秀的 Javascript 庫(kù)。它是輕量級(jí)的 js        庫(kù) ,它兼容 CSS3,還兼容各種瀏覽器(IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+),        jQuery2.0 及后續(xù)版本將不再支持 IE6/7/8 瀏覽器。jQuery 使用戶能更方便地處理 HTML        (標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言下的一個(gè)應(yīng)用)、events、實(shí)現(xiàn)動(dòng)畫效果,并且方便地為網(wǎng)站提供 AJAX        交互。jQuery 還有一個(gè)比較大的優(yōu)勢(shì)是,它的文檔說(shuō)明很全,而且各種應(yīng)用也說(shuō)得很詳細(xì),        同時(shí)還有許多成熟的插件可供選擇。jQuery 能夠使用戶的 html 頁(yè)面保持代碼和 html 內(nèi)容        分離,也就是說(shuō),不用再在 html 里面插入一堆 js 來(lái)調(diào)用命令了,只需要定義 id 即可。</p>    <h4 id="yui">Yui</h4>    <p>近幾年隨著 jQuery、Ext 以及 CSS3 的發(fā)展,以 Bootstrap 為代表的前端        開發(fā)框架如雨后春筍般擠入視野,可謂應(yīng)接不暇。不論是桌面瀏覽器端還是移動(dòng)端都涌現(xiàn)出        很多優(yōu)秀的框架,極大豐富了開發(fā)素材,也方便了大家的開發(fā)。這些框架各有特點(diǎn),本文對(duì)        這些框架進(jìn)行初步的介紹與比較,希望能夠?yàn)榇蠹疫x擇框架提供一點(diǎn)幫助,也為后續(xù)詳細(xì)研        究這些框架的拋磚引玉。</p>    <h4 id="extjs">Extjs</h4>    <p>ExtJS 可以用來(lái)開發(fā) RIA 也即富客戶端的 AJAX 應(yīng)用,是一個(gè)用 javascript        寫的,主要用于創(chuàng)建前端用戶界面,是一個(gè)與后臺(tái)技術(shù)無(wú)關(guān)的前端 ajax 框架。因此,可以        把 ExtJS 用在.Net、Java、Php 等各種開發(fā)語(yǔ)言開發(fā)的應(yīng)用中。ExtJs 最開始基于 YUI 技        術(shù),由開發(fā)人員 JackSlocum 開發(fā),通過(guò)參考 JavaSwing 等機(jī)制來(lái)組織可視化組件,無(wú)論        從 UI 界面上 CSS 樣式的應(yīng)用,到數(shù)據(jù)解析上的異常處理,都可算是一款不可多得的        JavaScript 客戶端技術(shù)的精品。</p></div>

 

 

使用js方式定義以上監(jiān)聽屬性

scrollspy()方法,將菜單執(zhí)行滾動(dòng)監(jiān)聽,在內(nèi)容區(qū)域最外層div上使用(Bootstrap)
offset滾動(dòng)監(jiān)聽屬性,設(shè)置內(nèi)容出現(xiàn)多少像素高亮對(duì)應(yīng)菜單,一般會(huì)設(shè)置成0(Bootstrap)
target滾動(dòng)監(jiān)聽屬性,綁定指定監(jiān)聽的菜單的id,防止監(jiān)聽多個(gè)菜單(Bootstrap)

js

$(function () {    $('#content').scrollspy({       //獲取內(nèi)容區(qū)域執(zhí)行滾動(dòng)監(jiān)聽        offset: 0,                  //設(shè)置內(nèi)容出現(xiàn)多少像素高亮對(duì)應(yīng)菜單,一般會(huì)設(shè)置成0        target: '#nav',             //綁定指定監(jiān)聽的菜單的id,防止監(jiān)聽多個(gè)菜單    });});

html

<nav id="nav" class="navbar navbar-default">                        <!--聲明導(dǎo)航,設(shè)置導(dǎo)航默認(rèn)樣式-->    <a href="#" class="navbar-brand">Web 開發(fā)</a>                   <!--設(shè)置導(dǎo)航標(biāo)題樣式-->    <ul class="nav navbar-nav">                                     <!--設(shè)置導(dǎo)航里的導(dǎo)航樣式-->        <li><a href="#html5">HTML5</a></li>        <li><a href="#bootstrap">Bootstrap</a></li>        <li class="dropdown">                                       <!--設(shè)置聲明一個(gè)下來(lái)列表-->            <a href="#" data-toggle="dropdown">                     <!--點(diǎn)擊打開下來(lái)列表-->                JavaScript                <span class="caret"></span>                         <!--設(shè)置一個(gè)三角樣式-->            </a>            <ul class="dropdown-menu">                              <!--設(shè)置下來(lái)列表樣式-->                <li><a href="#jquery">jQuery</a></li>                <li><a href="#yui">Yui</a></li>                <li><a href="#extjs">Extjs</a></li>            </ul>        </li>    </ul></nav><div id="content" style="height: 200px; overflow: auto; position: relative;">    <h4 id="html5">HTML5</h4>    <p>標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言下的一個(gè)應(yīng)用 HTML 標(biāo)準(zhǔn)自 1999 年 12 月發(fā)布的 HTML4.01        后,后繼的 HTML5 和其它標(biāo)準(zhǔn)被束之高閣,為了推動(dòng) Web 標(biāo)準(zhǔn)化運(yùn)動(dòng)的發(fā)展,一些公司聯(lián)        合起來(lái),成立了一個(gè)叫做 Web Hypertext Application Technology Working Group        (Web 超文本應(yīng)用技術(shù)工作組 -WHATWG) 的組織。WHATWG 致力于 Web 表單和應(yīng)用程序,        而 W3C(World Wide Web Consortium,萬(wàn)維網(wǎng)聯(lián)盟) 專注于 XHTML2.0。在 2006 年,        雙方?jīng)Q定進(jìn)行合作,來(lái)創(chuàng)建一個(gè)新版本的 HTML。</p>    <h4 id="bootstrap">Bootstrap</h4>    <p>Bootstrap,來(lái)自 Twitter,是目前很受歡迎的前端框架。Bootstrap 是基        于 HTML、CSS、JAVASCRIPT 的,它簡(jiǎn)潔靈活,使得 Web 開發(fā)更加快捷。[1] 它由 Twitter        的設(shè)計(jì)師 Mark Otto 和 Jacob Thornton 合作開發(fā),是一個(gè) CSS/HTML 框架。Bootstrap        提供了優(yōu)雅的 HTML 和 CSS 規(guī)范,它即是由動(dòng)態(tài) CSS 語(yǔ)言 Less 寫成。Bootstrap 一經(jīng)推出        后頗受歡迎,一直是 GitHub 上的熱門開源項(xiàng)目,包括 NASA 的 MSNBC(微軟全國(guó)廣播公司)        的 Breaking News 都使用了該項(xiàng)目。[2] 國(guó)內(nèi)一些移動(dòng)開發(fā)者較為熟悉的框架,如 WeX5        前端開源框架等,也是基于 Bootstrap 源碼進(jìn)行性能優(yōu)化而來(lái)。[3] </p>    <h4 id="jquery">jQuery</h4>    <p>JQuery 是繼 prototype 之后又一個(gè)優(yōu)秀的 Javascript 庫(kù)。它是輕量級(jí)的 js        庫(kù) ,它兼容 CSS3,還兼容各種瀏覽器(IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+),        jQuery2.0 及后續(xù)版本將不再支持 IE6/7/8 瀏覽器。jQuery 使用戶能更方便地處理 HTML        (標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言下的一個(gè)應(yīng)用)、events、實(shí)現(xiàn)動(dòng)畫效果,并且方便地為網(wǎng)站提供 AJAX        交互。jQuery 還有一個(gè)比較大的優(yōu)勢(shì)是,它的文檔說(shuō)明很全,而且各種應(yīng)用也說(shuō)得很詳細(xì),        同時(shí)還有許多成熟的插件可供選擇。jQuery 能夠使用戶的 html 頁(yè)面保持代碼和 html 內(nèi)容        分離,也就是說(shuō),不用再在 html 里面插入一堆 js 來(lái)調(diào)用命令了,只需要定義 id 即可。</p>    <h4 id="yui">Yui</h4>    <p>近幾年隨著 jQuery、Ext 以及 CSS3 的發(fā)展,以 Bootstrap 為代表的前端        開發(fā)框架如雨后春筍般擠入視野,可謂應(yīng)接不暇。不論是桌面瀏覽器端還是移動(dòng)端都涌現(xiàn)出        很多優(yōu)秀的框架,極大豐富了開發(fā)素材,也方便了大家的開發(fā)。這些框架各有特點(diǎn),本文對(duì)        這些框架進(jìn)行初步的介紹與比較,希望能夠?yàn)榇蠹疫x擇框架提供一點(diǎn)幫助,也為后續(xù)詳細(xì)研        究這些框架的拋磚引玉。</p>    <h4 id="extjs">Extjs</h4>    <p>ExtJS 可以用來(lái)開發(fā) RIA 也即富客戶端的 AJAX 應(yīng)用,是一個(gè)用 javascript        寫的,主要用于創(chuàng)建前端用戶界面,是一個(gè)與后臺(tái)技術(shù)無(wú)關(guān)的前端 ajax 框架。因此,可以        把 ExtJS 用在.Net、Java、Php 等各種開發(fā)語(yǔ)言開發(fā)的應(yīng)用中。ExtJs 最開始基于 YUI 技        術(shù),由開發(fā)人員 JackSlocum 開發(fā),通過(guò)參考 JavaSwing 等機(jī)制來(lái)組織可視化組件,無(wú)論        從 UI 界面上 CSS 樣式的應(yīng)用,到數(shù)據(jù)解析上的異常處理,都可算是一款不可多得的        JavaScript 客戶端技術(shù)的精品。</p></div>

 

 

滾動(dòng)監(jiān)聽事件

activate.bs.scrollspy 每當(dāng)一個(gè)新條目被激活后都將由滾動(dòng)監(jiān)聽插件觸發(fā)此事件。在菜單最外層div上使用(Bootstrap)

$(function () {    $('#content').scrollspy({       //獲取內(nèi)容區(qū)域執(zhí)行滾動(dòng)監(jiān)聽        offset: 0,                  //設(shè)置內(nèi)容出現(xiàn)多少像素高亮對(duì)應(yīng)菜單,一般會(huì)設(shè)置成0        target: '#nav',             //綁定指定監(jiān)聽的菜單的id,防止監(jiān)聽多個(gè)菜單    });    $('#nav').on('activate.bs.scrollspy', function () {        alert('新條目被激活后觸發(fā)此事件!');    });});

 

 

新容器方法

刪除內(nèi)容時(shí),刷新一下 DOM,避免導(dǎo)航監(jiān)聽錯(cuò)位

注意:此方法只有在內(nèi)容div的html里寫屬性才有效<div data-target="#nav" data-offset="0" data-spy="scroll"> 

refresh 更新容器 DOM 的方法。在菜單最外層div上使用(Bootstrap)

js

$(function () {    $('#html5 a').click(function () {          //獲取id為html5下面的a標(biāo)簽,執(zhí)行一個(gè)點(diǎn)擊事件        removeSec(this);                       //點(diǎn)擊后執(zhí)行removeSec方法,將當(dāng)前點(diǎn)擊元素傳遞到方法    });    function removeSec(e) {                    //定義removeSec方法        $(e).parents('.sec').remove();         //獲取到點(diǎn)擊元素上面class為sec的元素刪除節(jié)點(diǎn)        $('#content').scrollspy('refresh');    //refresh更新容器方法,獲取到內(nèi)容區(qū)域更新一下容器    }});

HTML

 

<nav id="nav" class="navbar navbar-default">                        <!--聲明導(dǎo)航,設(shè)置導(dǎo)航默認(rèn)樣式-->    <a href="#" class="navbar-brand">Web 開發(fā)</a>                   <!--設(shè)置導(dǎo)航標(biāo)題樣式-->    <ul class="nav navbar-nav">                                     <!--設(shè)置導(dǎo)航里的導(dǎo)航樣式-->        <li><a href="#html5">HTML5</a></li>        <li><a href="#bootstrap">Bootstrap</a></li>        <li class="dropdown">                                       <!--設(shè)置聲明一個(gè)下來(lái)列表-->            <a href="#" data-toggle="dropdown">                     <!--點(diǎn)擊打開下來(lái)列表-->                JavaScript                <span class="caret"></span>                         <!--設(shè)置一個(gè)三角樣式-->            </a>            <ul class="dropdown-menu">                              <!--設(shè)置下來(lái)列表樣式-->                <li><a href="#jquery">jQuery</a></li>                <li><a href="#yui">Yui</a></li>                <li><a href="#extjs">Extjs</a></li>            </ul>        </li>    </ul></nav><div id="content" data-target="#nav" data-offset="0" data-spy="scroll" style="height: 200px; overflow: auto; position: relative;">    <section class="sec">        <h4 id="html5">HTML5<a href="#" >刪除此項(xiàng)</a></h4>        <p>標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言下的一個(gè)應(yīng)用 HTML 標(biāo)準(zhǔn)自 1999 年 12 月發(fā)布的 HTML4.01            后,后繼的 HTML5 和其它標(biāo)準(zhǔn)被束之高閣,為了推動(dòng) Web 標(biāo)準(zhǔn)化運(yùn)動(dòng)的發(fā)展,一些公司聯(lián)            合起來(lái),成立了一個(gè)叫做 Web Hypertext Application Technology Working Group            (Web 超文本應(yīng)用技術(shù)工作組 -WHATWG) 的組織。WHATWG 致力于 Web 表單和應(yīng)用程序,            而 W3C(World Wide Web Consortium,萬(wàn)維網(wǎng)聯(lián)盟) 專注于 XHTML2.0。在 2006 年,            雙方?jīng)Q定進(jìn)行合作,來(lái)創(chuàng)建一個(gè)新版本的 HTML。</p>    </section>    <section class="sec">        <h4 id="bootstrap">Bootstrap</h4>        <p>Bootstrap,來(lái)自 Twitter,是目前很受歡迎的前端框架。Bootstrap 是基            于 HTML、CSS、JAVASCRIPT 的,它簡(jiǎn)潔靈活,使得 Web 開發(fā)更加快捷。[1] 它由 Twitter            的設(shè)計(jì)師 Mark Otto 和 Jacob Thornton 合作開發(fā),是一個(gè) CSS/HTML 框架。Bootstrap            提供了優(yōu)雅的 HTML 和 CSS 規(guī)范,它即是由動(dòng)態(tài) CSS 語(yǔ)言 Less 寫成。Bootstrap 一經(jīng)推出            后頗受歡迎,一直是 GitHub 上的熱門開源項(xiàng)目,包括 NASA 的 MSNBC(微軟全國(guó)廣播公司)            的 Breaking News 都使用了該項(xiàng)目。[2] 國(guó)內(nèi)一些移動(dòng)開發(fā)者較為熟悉的框架,如 WeX5            前端開源框架等,也是基于 Bootstrap 源碼進(jìn)行性能優(yōu)化而來(lái)。[3] </p>    </section>    <section class="sec">        <h4 id="jquery">jQuery</h4>        <p>JQuery 是繼 prototype 之后又一個(gè)優(yōu)秀的 Javascript 庫(kù)。它是輕量級(jí)的 js            庫(kù) ,它兼容 CSS3,還兼容各種瀏覽器(IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+),            jQuery2.0 及后續(xù)版本將不再支持 IE6/7/8 瀏覽器。jQuery 使用戶能更方便地處理 HTML            (標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言下的一個(gè)應(yīng)用)、events、實(shí)現(xiàn)動(dòng)畫效果,并且方便地為網(wǎng)站提供 AJAX            交互。jQuery 還有一個(gè)比較大的優(yōu)勢(shì)是,它的文檔說(shuō)明很全,而且各種應(yīng)用也說(shuō)得很詳細(xì),            同時(shí)還有許多成熟的插件可供選擇。jQuery 能夠使用戶的 html 頁(yè)面保持代碼和 html 內(nèi)容            分離,也就是說(shuō),不用再在 html 里面插入一堆 js 來(lái)調(diào)用命令了,只需要定義 id 即可。</p>    </section>    <section class="sec">        <h4 id="yui">Yui</h4>        <p>近幾年隨著 jQuery、Ext 以及 CSS3 的發(fā)展,以 Bootstrap 為代表的前端            開發(fā)框架如雨后春筍般擠入視野,可謂應(yīng)接不暇。不論是桌面瀏覽器端還是移動(dòng)端都涌現(xiàn)出            很多優(yōu)秀的框架,極大豐富了開發(fā)素材,也方便了大家的開發(fā)。這些框架各有特點(diǎn),本文對(duì)            這些框架進(jìn)行初步的介紹與比較,希望能夠?yàn)榇蠹疫x擇框架提供一點(diǎn)幫助,也為后續(xù)詳細(xì)研            究這些框架的拋磚引玉。</p>    </section>    <section class="sec">        <h4 id="extjs">Extjs</h4>        <p>ExtJS 可以用來(lái)開發(fā) RIA 也即富客戶端的 AJAX 應(yīng)用,是一個(gè)用 javascript            寫的,主要用于創(chuàng)建前端用戶界面,是一個(gè)與后臺(tái)技術(shù)無(wú)關(guān)的前端 ajax 框架。因此,可以            把 ExtJS 用在.Net、Java、Php 等各種開發(fā)語(yǔ)言開發(fā)的應(yīng)用中。ExtJs 最開始基于 YUI 技            術(shù),由開發(fā)人員 JackSlocum 開發(fā),通過(guò)參考 JavaSwing 等機(jī)制來(lái)組織可視化組件,無(wú)論            從 UI 界面上 CSS 樣式的應(yīng)用,到數(shù)據(jù)解析上的異常處理,都可算是一款不可多得的            JavaScript 客戶端技術(shù)的精品。</p>    </section></div>

 

 

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
詳解Bootstrap中JS插件實(shí)現(xiàn)下拉菜單效果
帶下拉菜單的按鈕
jQuery ListMenu Plugin
bootstrap分頁(yè)
實(shí)現(xiàn) Bootstrap 基本布局
BootStrap網(wǎng)頁(yè)制作框架學(xué)習(xí)筆記
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服