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