我刚刚在我们网站的一部分上实现了一个简单的展开/折叠系统。我尝试了几个现有的解决方案,但感觉要使网站适应它需要付出太多努力,所以我自己编写了适合的解决方案。
代码如下:
function hide(boxtohide, boxtomodify, expandbox) {
$('#' + boxtohide).hide(300);
$('#' + boxtomodify).css('background-image', 'url("images/new/date.png")');
$('#' + boxtomodify).css('height', '69px');
$('#' + expandbox).show(300);
}
function show(boxtohide, boxtomodify, expandbox, origheight, origurl) {
$('#' + expandbox).hide(300);
$('#' + boxtomodify).css('height', origheight);
$('#' + boxtomodify).css('background-image', 'url("'+origurl+'")');
$('#' + boxtohide).show(300);
}
背后的逻辑是这样的:
- 用户点击隐藏
- 内容被隐藏
- 内容包装器替换为更薄的 div,
- 内容包装器中显示的展开按钮(即它替换原始内容)
并反过来再次扩展。
对我来说,代码感觉有点笨拙,我不是 javascript 高手,所以这里可能有点不够深入,欢迎提出任何建议!
戴夫