?
This document uses PHP Chinese website manual Release
CodeIgniter提供了一個庫來幫助您使用某些您可能想要在Javascript中使用的常用功能。請注意,CodeIgniter不需要運行jQuery庫,并且任何腳本庫都可以正常工作。如果您選擇使用jQuery庫,則只需簡單介紹一下jQuery庫。
重要
該庫已被棄用,不應使用。它一直處于“試驗”狀態(tài),現(xiàn)在不再支持。目前只保留向后兼容性。
初始化類
設置和配置
在你的視圖中設置這些變量
使用配置項目設置圖書館的路徑
jQuery類
jQuery事件
效果
hide()/ show()
切換()
動畫()
淡入淡出()
toggleClass()
淡入淡出()
slideUp()/ slideDown()/ slideToggle()
插件
角()
tablesorter()
資本()
日歷()
要在控制器構(gòu)造函數(shù)中手動初始化Javascript類,請使用該$this->load->library()
方法。目前,唯一可用的庫是jQuery,它將自動加載,如下所示:
$this->load->library('javascript');
Javascript類也接受參數(shù):
js_library_driver(字符串)默認值:'jquery'
自動加載(布爾)默認值:TRUE
您可以通過發(fā)送關聯(lián)數(shù)組來覆蓋默認值:
$this->load->library( 'javascript', array( 'js_library_driver' => 'scripto', 'autoload' => FALSE ));
再次,目前只有'jquery'可用。不過,如果您不希望jQuery庫自動為主jQuery腳本文件包含腳本標記,您可能希望將自動加載設置為FALSE。如果您從CodeIgniter之外的位置加載它,或者在標記中已經(jīng)有腳本標記,這很有用。
一旦加載,jQuery庫對象將可用使用:
$this->javascript
作為Javascript庫,您的文件必須可用于您的應用程序。
由于Javascript是客戶端語言,庫必須能夠?qū)?nèi)容寫入最終輸出。這通常意味著一個觀點。您需要在<head>
輸出的部分中包含以下變量。
<?php echo $library_src;?><?php echo $script_head;?>
$library_src
,是實際的庫文件將被加載的地方,以及任何后續(xù)的插件腳本調(diào)用; $ script_head是渲染特定事件,函數(shù)和其他命令的地方。
Javascript庫中有一些配置項。這些可以在application / config.php中,在它自己的config / javascript.php文件中,或者在任何使用該set_item()
函數(shù)的控制器中設置。
要用作“ajax加載器”的圖像或進度指示器。如果沒有人,需要進行Ajax調(diào)用時,會顯示“l(fā)oading”的簡單文本消息。
$config['javascript_location'] = 'http://localhost/codeigniter/themes/js/jquery/';$config['javascript_ajax_img'] = 'images/ajax-loader.gif';
如果您將文件保存在從其下載的相同目錄中,則無需設置此配置項目。
要在您的控制器構(gòu)造函數(shù)中手動初始化jQuery類,請使用以下$this->load->library()
方法:
$this->load->library('javascript/jquery');
您可以發(fā)送一個可選參數(shù)來確定加載庫時是否自動包含主jQuery文件的腳本標記。它將在默認情況下創(chuàng)建。為防止出現(xiàn)這種情況,請按如下所述加載庫:
$this->load->library('javascript/jquery', FALSE);
一旦加載,jQuery庫對象將可用使用:
$this->jquery
事件使用以下語法設置。
$this->jquery->event('element_path', code_to_run());
在上面的例子中:
“事件”是任何模糊,更改,點擊,dblclick,錯誤,焦點,懸停,keydown,鍵入,加載,mousedown,mouseup,mouseover,mouseup,調(diào)整大小,滾動或卸載。
“element_path”是任何有效的jQuery選擇器。由于jQuery獨特的選擇器語法,這通常是一個元素ID或CSS選擇器。例如“#notice_area”會生效<div id="notice_area">
,而“#content a.notice”會在id為“content”的div中產(chǎn)生所有具有“notice”類別的錨。
“ 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);
“目標”將是任何有效的jQuery選擇器或選擇器。
“速度”是可選的,并且設置為慢,正常,快或者毫秒數(shù)。
“額外信息”是可選的,并且可以包括回調(diào)或其他附加信息。
toggle()會將項目的可見性更改為其當前狀態(tài)的相反,隱藏可見元素并顯示隱藏元素。
$this->jquery->toggle(target);
“目標”將是任何有效的jQuery選擇器或選擇器。
$this->jquery->animate(target, parameters, optional speed, optional extra information);
“目標”將是任何有效的jQuery選擇器或選擇器。
jQuery中的“參數(shù)”通常會包含一系列您希望更改的CSS屬性。
“速度”是可選的,并且設置為慢,正常,快或者毫秒數(shù)。
“額外信息”是可選的,并且可以包括回調(diào)或其他附加信息。
下面是一個animate()的例子,它調(diào)用id為“note”的div,并通過使用jQuery庫的click()事件進行點擊觸發(fā)。
$params = array('height' => 80,'width' => '50%','marginLeft' => 125);$this->jquery->click('#trigger', $this->jquery->animate('#note', $params, 'normal'));
$this->jquery->fadeIn(target, optional speed, optional extra information);$this->jquery->fadeOut(target, optional speed, optional extra information);
“目標”將是任何有效的jQuery選擇器或選擇器。
“速度”是可選的,并且設置為慢,正常,快或者毫秒數(shù)。
“額外信息”是可選的,并且可以包括回調(diào)或其他附加信息。
這個函數(shù)將添加或刪除一個CSS類到它的目標。
$this->jquery->toggleClass(target, class)
“目標”將是任何有效的jQuery選擇器或選擇器。
“class”是任何CSS類名。請注意,此類必須在已加載的CSS中定義并可用。
這些效果會導致元素隨著時間消失或重新出現(xiàn)。
$this->jquery->fadeIn(target, optional speed, optional extra information);$this->jquery->fadeOut(target, optional speed, optional extra information);
“目標”將是任何有效的jQuery選擇器或選擇器。
“速度”是可選的,并且設置為慢,正常,快或者毫秒數(shù)。
“額外信息”是可選的,并且可以包括回調(diào)或其他附加信息。
這些效果會導致元素滑動。
$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選擇器或選擇器。
“速度”是可選的,并且設置為慢,正常,快或者毫秒數(shù)。
“額外信息”是可選的,并且可以包括回調(diào)或其他附加信息。
一些選擇jQuery插件可以使用這個庫。
$this->jquery->corner(target, corner_style);
“目標”將是任何有效的jQuery選擇器或選擇器。
“corner_style”是可選的,可以設置為任何有效的樣式,例如圓形,尖銳,斜角,咬,狗等??梢酝ㄟ^按照樣式使用空格并使用“tl”(左上)來設置單獨的角落, “tr”(右上),“bl”(左下)或“br”(右下)。
$this->jquery->corner("#note", "cool tl br");
說明即將到來
說明即將到來
說明即將到來