在可扩展列表上使用fontaawesome
Using FontAwesome on Expandable List
我现在正在做一个小列表,我想使用字体Awesome右胡萝卜来表明文本是可扩展的。我可以把字体awesome放在任何li项下没有ul。但如果我尝试将其添加到项目3,则图标不显示。然而,它出现在项目1中。下面是代码,简单的小列表,显示在项目1中使用的FA,它将显示,但在项目3中完全相同的代码,但它不会显示。
<tr><td class="tcat"><strong>Categories</strong></td>{$inlinemodcol}</tr>
<tr>
<td class="trow1" colspan="2">
<ul>
<li><i class="fa icon-caret-right"></i>Item 1</li>
<li>Item 2</li>
<li><i class="fa icon-caret-right"></i>Item 3
<ul>
<li>Item 3.1</li>
<li>Item 3.2</li>
<li>Item 3.3</li>
</ul>
</li>
<li>Item 4
<ul>
<li>Item 4.1</li>
<li>Item 4.2</li>
</ul>
</li>
<li>Item 5</li>
</ul>
这个小菜单用来展开菜单的Javascript:
<script type="text/javascript" src="jquery-1.3.2.min.js"></script>
<script type="text/javascript">
$(function(){
$('li')
.css('pointer','default')
.css('list-style-image','none');
$('li:has(ul)')
.click(function(event){
if (this == event.target) {
$(this).css('list-style-image',
(!$(this).children().is(':hidden')) ? 'url(plusbox.gif)' : 'url(minusbox.gif)');
$(this).children().toggle('slow');
}
return false;
})
.css({cursor:'pointer', 'list-style-image':'url(plusbox.gif)'})
.children().hide();
$('li:not(:has(ul))').css({cursor:'default', 'list-style-image':'none'});
});
我认为这是因为你正在使用的javascript代码。
这些行:
$(this).children().toggle('slow');
和
.children().hide();
隐藏了li
的childrens
即i
和ul
。所以只要改变你的javascript只隐藏li
的ul
的孩子,而不是隐藏所有的孩子。
更新JS:
$(function () {
$('li')
.css('pointer', 'default')
.css('list-style-image', 'none');
$('li:has(ul)')
.click(function (event) {
if (this == event.target) {
$(this).css('list-style-image', (!$(this).children().is(':hidden')) ? 'url(plusbox.gif)' : 'url(minusbox.gif)');
$(this).children('ul').toggle('slow'); //Changed
}
return false;
})
.css({
cursor: 'pointer',
'list-style-image': 'url(plusbox.gif)'
})
.children('ul').hide(); //Changed
$('li:not(:has(ul))').css({
cursor: 'default',
'list-style-image': 'none'
});
});
演示:http://jsfiddle.net/lotusgodkk/JfGVE/157/
相关文章:
- CKEditor Widget-阻止编辑可编辑元素本身
- 下拉选择可自动更改第二个下拉选择
- knockoutjs可观察数组
- 如何使jQuery插件函数可调用以供独立使用,而不在集合上操作
- 调整窗口大小时,可拖动的对象会出现在容器外部
- 手风琴可点击并悬停
- 将纯文本URL转换为可单击链接
- 一点javascript元编程&可链接的设置器
- 将事件聚焦/模糊在可编辑内容的元素上
- 带有加号的电话号码验证(可选)
- 为什么HTML5拖放的目标是孩子?(可排序列表)
- 以可优化的方式使用requirejs加载模板
- 将日期时间从json转换为可读格式
- 从控制器继承了隔离的作用域以生成可重用的指令
- RubyonRails中的可点击表行
- javascript对象可扩展性仅限于方法
- Node.js具有大量用户的可扩展性/性能能力
- 在可扩展列表上使用fontaawesome
- 使用TogetherJS的可扩展性来同步更改到Div
- 如何使网站的HTML设计具有可扩展性、可重用性和灵活性