W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
CodeIgniter 提供一個(gè)類庫和一些共用的方法來處理 Javascript 。要注意的是, CodeIgniter 并不是只能用于 jQuery ,其他腳本庫也可以。JQuery 僅僅是 作為一個(gè)方便的工具,如果你選擇使用它的話。
重要
這個(gè)類庫已經(jīng)廢棄,不要使用它。它將永遠(yuǎn)處于 "實(shí)驗(yàn)" 版本, 而且現(xiàn)在也已經(jīng)不提供支持了。保留它只是為了向前兼容。
要初始化 Javascript 類,你可以在控制器的構(gòu)造函數(shù)中使用 $this->load->library() 函數(shù)。目前,唯一可用的庫是 jQuery ,可以使用下面的方法加載:
$this->load->library('javascript');
Javascript 類也可以接受參數(shù):
你可以通過一個(gè)關(guān)聯(lián)數(shù)組覆蓋默認(rèn)的參數(shù):
$this->load->library(
'javascript',
array(
'js_library_driver' => 'scripto',
'autoload' => FALSE
)
);
再次說明,目前只有 jQuery 是可用的,如果你不想讓 jQuery 腳本文件自動(dòng)的包含在 script 標(biāo)簽中,你可以設(shè)置 autoload 參數(shù)為 FALSE 。這在當(dāng)你在 CodeIgniter 之外 加載它時(shí),或者 script 標(biāo)簽已經(jīng)有了的時(shí)候很有用。
一旦加載完成,jQuery 類對(duì)象就可以通過下面的方式使用:
$this->javascript
作為一個(gè) Javascript 庫,源文件必須能被應(yīng)用程序訪問到。
由于 Javascript 是一種客戶端語言,庫必須能寫入內(nèi)容到最終的輸出中去, 這通常就是視圖。你需要在輸出的 中包含下面的變量。
<?php echo $library_src;?>
<?php echo $script_head;?>
$library_src 是要載入的庫文件的路徑,以及之后所有插件腳本的路徑; $script_head 是需要顯示的具體的一些事件、函數(shù)和其他的命令。
在 Javascript 類庫中有一些配置項(xiàng),它們可以在 application/config.php 文件中 設(shè)置,也可以在它們自己的配置文件 config/javascript.php 中設(shè)置,還可以通過 在控制器中使用 set_item() 方法來設(shè)置。
例如,有一個(gè) "加載中" 的圖片,或者進(jìn)度條指示,如果沒有它的話,當(dāng)調(diào)用 Ajax 請(qǐng)求時(shí), 將會(huì)顯示 "加載中" 這樣的文本。
$config['javascript_location'] = 'http://localhost/codeigniter/themes/js/jquery/';
$config['javascript_ajax_img'] = 'images/ajax-loader.gif';
如果你把文件留在與圖片下載路徑相同的目錄里,那么你不需要設(shè)置這個(gè)配置項(xiàng)。
要在你的控制器構(gòu)造函數(shù)中手工初始化 jQuery 類,使用 $this->load->library() 方法:
$this->load->library('javascript/jquery');
你可以提供一個(gè)可選的參數(shù)來決定加載該庫時(shí)是否將其自動(dòng)包含到 script 標(biāo)簽中。 默認(rèn)情況下會(huì)包含,如果不需要,可以像下面這樣來加載:
$this->load->library('javascript/jquery', FALSE);
加載完成后,jQuery 類對(duì)象可以使用下面的代碼來訪問:
$this->jquery
使用下面的語法來設(shè)置事件。
$this->jquery->event('element_path', code_to_run());
在上面的例子中:
jQuery 庫支持很多強(qiáng)大的 特效 ,在使用特效之前, 必須使用下面的方法加載:
$this->jquery->effect([optional path] plugin name); // for example $this->jquery->effect('bounce');
這兩個(gè)函數(shù)會(huì)影響你的頁面上元素的可見性,hide() 函數(shù)用于將元素隱藏,show() 則相反。
$this->jquery->hide(target, optional speed, optional extra information);
$this->jquery->show(target, optional speed, optional extra information);
toggle() 用于將元素的可見性改成和當(dāng)前的相反,將可見的元素隱藏,將隱藏的元素可見。
$this->jquery->toggle(target);
$this->jquery->animate(target, parameters, optional speed, optional extra information);
更完整的說明,參見 http://api.jquery.com/animate/
下面是個(gè)在 ID 為 "note" 的一個(gè) div 上使用 animate() 的例子,它使用了 jQuery 庫的 click 事件, 通過 click 事件觸發(fā)。
$params = array(
'height' => 80,
'width' => '50%',
'marginLeft' => 125
);
$this->jquery->click('#trigger', $this->jquery->animate('#note', $params, 'normal'));
該函數(shù)用于往目標(biāo)元素添加或移除一個(gè) CSS 類。
$this->jquery->toggleClass(target, class)
這兩個(gè)特效會(huì)使某個(gè)元素漸變的隱藏和顯示。
$this->jquery->fadeIn(target, optional speed, optional extra information);
$this->jquery->fadeOut(target, optional speed, optional extra information);
這些特效可以讓元素滑動(dòng)。
$this->jquery->slideUp(target, optional speed, optional extra information);
$this->jquery->slideDown(target, optional speed, optional extra information);
$this->jquery->slideToggle(target, optional speed, optional extra information);
使用這個(gè)庫時(shí)還有幾個(gè) jQuery 插件可用。
用于在頁面的某個(gè)元素四周添加不同樣式的邊角。更多詳細(xì)信息,參考 http://malsup.com/jquery/corner/
$this->jquery->corner(target, corner_style);
$this->jquery->corner("#note", "cool tl br");
待添加
待添加
待添加
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: