jQuery扩展器&无序列表
本文关键字:列表 无序 扩展器 jQuery | 更新日期: 2023-09-27 17:50:33
我正在尝试这里找到的jQuery扩展器插件。它在处理常规文本时工作得很好,但是当切片点位于<LI>
标记的中间时,它的行为有点奇怪。
关于如何让它表现得更优雅一点,有什么提示/建议吗?以下是我要寻找的优先顺序:
- Read More与拆分列表项在同一行,展开显示列表项的其余部分
- 改变它,这样我们就不会在列表项的中间分裂,并在它下面的另一个无序列表中显示剩余的列表项
我对jQuery有点陌生,所以请耐心听我说。如果你有任何问题,请给我留言,我会更新我的帖子。
谢谢!
要获得这种行为可能需要大量的扩展,这可能比它的价值更多的麻烦。它实际上是为内联元素而不是一系列块元素设计的。无论如何,这里是一个自定义的代码片段,希望它能做你想要的:
小提琴: http://jsfiddle.net/garreh/z9JwJ/
var de = {
0: {
html: '<span class="read_more"><a href="javascript:">Read more</a></span>',
classname: '.read_more'
},
1: {
html: '<span class="read_less"><a href="javascript:">Read Less</a></span>',
classname: '.read_less'
}
};
function toggle(show)
{
var $li = $('.expandable ul > li');
var len = $li.length - 1;
var xy = (show ? [len, 0] : [0, 1]);
$li.each(function(index) {
if (index) {
$(this)[show ? 'show' : 'hide']();
}
if (!index || index == len) $(de[xy[1]].classname, this).remove();
if (index == xy[0])
{
var $toggle = $(de[show].html);
$toggle.find('a').click(function() {
toggle(xy[1]);
});
$(this).append($toggle);
}
});
}
toggle(0);