Javascript Class
Javascript Class
CodeIgniter提供了一个库来帮助您使用某些您可能想要在Javascript中使用的常用功能。请注意,CodeIgniter不需要运行jQuery库,并且任何脚本库都可以正常工作。如果您选择使用jQuery库,则只需简单介绍一下jQuery库。
重要
该库已被弃用,不应使用。它一直处于“试验”状态,现在不再支持。目前只保留向后兼容性。
- 初始化类
使用Javascript类
初始化类
要在控制器构造函数中手动初始化Javascript类,请使用该$this->load->library()方法。目前,唯一可用的库是jQuery,它将自动加载,如下所示:
$this->load->library('javascript'
Javascript类也接受参数:
- js_library_driver(字符串)
默认值:'jquery'
您可以通过发送关联数组来覆盖默认值:
$this->load->library(
'javascript',
array(
'js_library_driver' => 'scripto',
'autoload' => FALSE
)
再次,目前只有'jquery'可用。不过,如果您不希望jQuery库自动为主jQuery脚本文件包含脚本标记,您可能希望将自动加载设置为FALSE。如果您从CodeIgniter之外的位置加载它,或者在标记中已经有脚本标记,这很有用。
一旦加载,jQuery库对象将可用使用:
$this->javascript
设置和配置
在你的视图中设置这些变量
作为Javascript库,您的文件必须可用于您的应用程序。
由于Javascript是客户端语言,库必须能够将内容写入最终输出。这通常意味着一个观点。您需要在<head>输出的部分中包含以下变量。
<?php echo $library_src;?>
<?php echo $script_head;?>
$library_src
,是实际的库文件将被加载的地方,以及任何后续的插件脚本调用; $ script_head是渲染特定事件,函数和其他命令的地方。
使用配置项目设置图书馆的路径
Javascript库中有一些配置项。这些可以在application / config.php中
,在它自己的config / javascript.php
文件中,或者在任何使用该set_item()
函数的控制器中设置。
要用作“ajax加载器”的图像或进度指示器。如果没有人,需要进行Ajax调用时,会显示“loading”的简单文本消息。
$config['javascript_location'] = 'http://localhost/codeigniter/themes/js/jquery/';
$config['javascript_ajax_img'] = 'images/ajax-loader.gif';
如果您将文件保存在从其下载的相同目录中,则无需设置此配置项目。
jQuery类
要在您的控制器构造函数中手动初始化jQuery类,请使用以下$this->load->library()方法:
$this->load->library('javascript/jquery'
您可以发送一个可选参数来确定加载库时是否自动包含主jQuery文件的脚本标记。它将在默认情况下创建。为防止出现这种情况,请按如下所述加载库:
$this->load->library('javascript/jquery', FALSE
一旦加载,jQuery库对象将可用使用:
$this->jquery
jQuery事件
事件使用以下语法设置。
$this->jquery->event('element_path', code_to_run()
在上面的例子中:
- “事件”是任何模糊,更改,点击,dblclick,错误,焦点,悬停,keydown,键入,加载,mousedown,mouseup,mouseover,mouseup,调整大小,滚动或卸载。
效果
$this->jquery->effect([optional path] plugin name // for example $this->jquery->effect('bounce'
hide() / show()
每个功能都会影响页面上项目的可见性。hide()会将项目设置为不可见,show()会显示它。
$this->jquery->hide(target, optional speed, optional extra information
$this->jquery->show(target, optional speed, optional extra information
- “目标”将是任何有效的jQuery选择器或选择器。
toggle()
toggle()会将项目的可见性更改为其当前状态的相反,隐藏可见元素并显示隐藏元素。
$this->jquery->toggle(target
- “目标”将是任何有效的jQuery选择器或选择器。
animate()
$this->jquery->animate(target, parameters, optional speed, optional extra information
- “目标”将是任何有效的jQuery选择器或选择器。
下面是一个animate()的例子,它调用id为“note”的div,并通过使用jQuery库的click()事件进行点击触发。
$params = array(
'height' => 80,
'width' => '50%',
'marginLeft' => 125
$this->jquery->click('#trigger', $this->jquery->animate('#note', $params, 'normal')
fadeIn() / fadeOut()
$this->jquery->fadeIn(target, optional speed, optional extra information
$this->jquery->fadeOut(target, optional speed, optional extra information
- “目标”将是任何有效的jQuery选择器或选择器。
toggleClass()
这个函数将添加或删除一个CSS类到它的目标。
$this->jquery->toggleClass(target, class)
- “目标”将是任何有效的jQuery选择器或选择器。
fadeIn() / fadeOut()
这些效果会导致元素随着时间消失或重新出现。
$this->jquery->fadeIn(target, optional speed, optional extra information
$this->jquery->fadeOut(target, optional speed, optional extra information
- “目标”将是任何有效的jQuery选择器或选择器。
slideUp() / slideDown() / slideToggle()
这些效果会导致元素滑动。
$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选择器或选择器。
插件
一些选择jQuery插件可以使用这个库。
corner()
$this->jquery->corner(target, corner_style
- “目标”将是任何有效的jQuery选择器或选择器。
$this->jquery->corner("#note", "cool tl br"
tablesorter()
说明即将到来
modal()
说明即将到来
calendar()
说明即将到来