Javascript 重新组织引导布局-单击扩展div时的列排序
这里有一个想法:它应该是6个框(一行三个),假设它应该是大视口,每个div应该有classJavascript 重新组织引导布局-单击扩展div时的列排序,javascript,jquery,html,css,twitter-bootstrap,Javascript,Jquery,Html,Css,Twitter Bootstrap,这里有一个想法:它应该是6个框(一行三个),假设它应该是大视口,每个div应该有classcol-lg-4: ------- ------- ------- | | | | | A | B | C | | | | | ------- ------- ------- | | | | | D | E | F | | |
col-lg-4
:
------- ------- -------
| | | |
| A | B | C |
| | | |
------- ------- -------
| | | |
| D | E | F |
| | | |
------- ------- -------
当用户点击这个框时,它应该被切换并展开以占据整行。其余的div应该像下面的例子一样向上/向下拉或推
假设:
- 当用户单击div时,它会扩展(可以通过jquery将class
替换为col-lg-4
来完成)col-lg-12
- 一次只能扩展一个div
- X-折叠分区
- 扩展分区
A
扩展:
------- ------- -------
| |
| A' |
| |
------- ------- -------
| | | |
| B | C | D |
| | | |
------- ------- -------
| | |
| E | F |
| | |
------- -------
------- ------- -------
| |
| B' |
| |
------- ------- -------
| | | |
| A | C | D |
| | | |
------- ------- -------
| | |
| E | F |
| | |
------- -------
------- ------- -------
| |
| C' |
| |
------- ------- -------
| | | |
| A | B | D |
| | | |
------- ------- -------
| | |
| E | F |
| | |
------- -------
------- ------- -------
| | | |
| A | B | C |
| | | |
------- ------- -------
| |
| D' |
| |
------- ------- -------
| | |
| E | F |
| | |
------- -------
B
扩展:
------- ------- -------
| |
| A' |
| |
------- ------- -------
| | | |
| B | C | D |
| | | |
------- ------- -------
| | |
| E | F |
| | |
------- -------
------- ------- -------
| |
| B' |
| |
------- ------- -------
| | | |
| A | C | D |
| | | |
------- ------- -------
| | |
| E | F |
| | |
------- -------
------- ------- -------
| |
| C' |
| |
------- ------- -------
| | | |
| A | B | D |
| | | |
------- ------- -------
| | |
| E | F |
| | |
------- -------
------- ------- -------
| | | |
| A | B | C |
| | | |
------- ------- -------
| |
| D' |
| |
------- ------- -------
| | |
| E | F |
| | |
------- -------
C
扩展:
------- ------- -------
| |
| A' |
| |
------- ------- -------
| | | |
| B | C | D |
| | | |
------- ------- -------
| | |
| E | F |
| | |
------- -------
------- ------- -------
| |
| B' |
| |
------- ------- -------
| | | |
| A | C | D |
| | | |
------- ------- -------
| | |
| E | F |
| | |
------- -------
------- ------- -------
| |
| C' |
| |
------- ------- -------
| | | |
| A | B | D |
| | | |
------- ------- -------
| | |
| E | F |
| | |
------- -------
------- ------- -------
| | | |
| A | B | C |
| | | |
------- ------- -------
| |
| D' |
| |
------- ------- -------
| | |
| E | F |
| | |
------- -------
D
扩展:
------- ------- -------
| |
| A' |
| |
------- ------- -------
| | | |
| B | C | D |
| | | |
------- ------- -------
| | |
| E | F |
| | |
------- -------
------- ------- -------
| |
| B' |
| |
------- ------- -------
| | | |
| A | C | D |
| | | |
------- ------- -------
| | |
| E | F |
| | |
------- -------
------- ------- -------
| |
| C' |
| |
------- ------- -------
| | | |
| A | B | D |
| | | |
------- ------- -------
| | |
| E | F |
| | |
------- -------
------- ------- -------
| | | |
| A | B | C |
| | | |
------- ------- -------
| |
| D' |
| |
------- ------- -------
| | |
| E | F |
| | |
------- -------
E
扩展:
------- ------- -------
| | | |
| A | B | C |
| | | |
------- ------- -------
| |
| E' |
| |
------- ------- -------
| | |
| D | F |
| | |
------- -------
F
扩展:
------- ------- -------
| |
| A' |
| |
------- ------- -------
| | | |
| B | C | D |
| | | |
------- ------- -------
| | |
| E | F |
| | |
------- -------
------- ------- -------
| |
| B' |
| |
------- ------- -------
| | | |
| A | C | D |
| | | |
------- ------- -------
| | |
| E | F |
| | |
------- -------
------- ------- -------
| |
| C' |
| |
------- ------- -------
| | | |
| A | B | D |
| | | |
------- ------- -------
| | |
| E | F |
| | |
------- -------
------- ------- -------
| | | |
| A | B | C |
| | | |
------- ------- -------
| |
| D' |
| |
------- ------- -------
| | |
| E | F |
| | |
------- -------
(……)
我尝试使用classcollg-[push | pull]-n
,但问题似乎是在行中上下移动div
如果您有任何建议,我将不胜感激。您应该分享您迄今为止所做的尝试,但根据您的描述和stackoverflow的上帝保佑,我将建议您回答这个问题 注2:
colxs-*
类,这样它就可以显示在“代码段预览”视口中。您只需将所有col xs-*
添加/更改为col md-*
和/或col lg-*
,以您希望使用的为准div
项,只需再次单击它$(“.itemA”)。在(“单击”,函数(){
var isExpanded=$(this.hasClass(“col-xs-12”);
//如果已展开,则切换回col-xs-4
如果(扩展){
$(this.addClass(“col-xs-4”);
$(this.removeClass(“col-xs-12”);
//在下一项之前插入
$(此).insertBefore(“.itemB”);
}否则{
//删除任何其他展开项
$(.col-xs-12”).not(this).removeClass(“col-xs-12”).addClass(“col-xs-4”);
$(this.addClass(“col-xs-12”);
$(this.removeClass(“col-xs-4”);
//作为第一个展开项插入
$(此).insertBefore(“.itemB”);
//将展开项放在上面
美元(“.itemB”)。在(“.itemA”)之后插入;
//推送其余的项目
$(.itemC”)。在(.itemB)之后插入;
$(.itemD”)。在(.itemC)之后插入;
美元(“.itemE”)。在(“.itemD”)之后插入;
美元(“.itemF”)。在(“.itemE”)之后插入;
}
});
$(“.itemB”)。在(“单击”,函数(){
var isExpanded=$(this.hasClass(“col-xs-12”);
//如果已展开,则切换回正常状态
如果(扩展){
$(this.addClass(“col-xs-4”);
$(this.removeClass(“col-xs-12”);
//在下一项之前插入
$(此).insertBefore(“.itemC”);
}否则{
//删除任何其他展开项
$(.col-xs-12”).not(this).removeClass(“col-xs-12”).addClass(“col-xs-4”);
$(this.addClass(“col-xs-12”);
$(this.removeClass(“col-xs-4”);
//作为第一个展开项插入
$(此).insertBefore(“.itemA”);
//将展开项放在上面
$(.itemA”)。在(.itemB)之后插入;
//推送其余的项目
美元(“.itemC”)。在(“.itemA”)之后插入;
$(.itemD”)。在(.itemC)之后插入;
美元(“.itemE”)。在(“.itemD”)之后插入;
美元(“.itemF”)。在(“.itemE”)之后插入;
}
});
$(“.itemC”)。在(“单击”,函数(){
var isExpanded=$(this.hasClass(“col-xs-12”);
//如果已展开,则切换回正常状态
如果(扩展){
$(this.addClass(“col-xs-4”);
$(this.removeClass(“col-xs-12”);
//在下一项之前插入
$(此).insertBefore(“.itemD”);
}否则{
//删除任何其他展开项
$(.col-xs-12”).not(this).removeClass(“col-xs-12”).addClass(“col-xs-4”);
$(this.addClass(“col-xs-12”);
$(this.removeClass(“col-xs-4”);
//作为第一个展开项插入
$(此).insertBefore(“.itemA”);
//将展开项放在上面
美元(“.itemA”)。在(“.itemC”)之后插入;
//推送其余的项目
美元(“.itemB”)。在(“.itemA”)之后插入;
$(.itemD”)。在(.itemB)之后插入;
美元(“.itemE”)。在(“.itemD”)之后插入;
美元(“.itemF”)。在(“.itemE”)之后插入;
}
});
$(“.itemD”)。在(“单击”,函数(){
var isExpanded=$(this.hasClass(“col-xs-12”);
//如果已展开,则切换回正常状态
如果(扩展){
$(this.addClass(“col-xs-4”);
$(this.removeClass(“col-xs-12”);
//在下一项之前插入
$(此).insertBefore(“.itemE”);
}否则{
//删除任何其他展开项
$(.col-xs-12”).not(this).removeClass(“col-xs-12”).addClass(“col-xs-4”);
$(this.addClass(“col-xs-12”);
$(this.removeClass(“col-xs-4”);
//位置在第二行展开
$(此).insertBefore(“.itemE”);
//推送其余的项目
美元(“.itemB”)。在(“.itemA”)之后插入;
$(.itemC”)。在(.itemB)之后插入;
美元(“.itemE”)。在(“.itemD”)之后插入;
美元(“.itemF”)。在(“.itemE”)之后插入;
}
});
$(“.itemE”)。在(“单击”,函数(){
var isExpanded=$(this.hasClass(“col-xs-12”);
//如果已展开,则切换回正常状态
如果(扩展){
$(this.addClass(“col-xs-4”);
$(this.removeClass(“col-xs-12”);
//在下一项之前插入
$(此).insertBefore(“.itemF”);
}否则{
//删除任何其他展开项
$(.col-xs-12”).not(this).removeClass(“col-xs-12”).addClass(“col-xs-4”);
$(this.addClass(“col-xs-12”);
$(this.removeClass(“col-xs-4”);
//位置在第二行展开
$(此).insertAfter(“.itemD”);
//推送其余的项目
美元(“.itemB”)。在(“.itemA”)之后插入;
$(.itemC”)。在(.itemB)之后插入;
美元(“.itemD”)。在(“.itemE”)之后插入;
$(.itemF”)。在(.itemD)之后插入;
}
});
$(“.itemF”)。在(“单击”,函数(){
var isExpanded=$(this.hasClass(“col-xs-12”);
//如果已展开,则切换回正常状态
如果(扩展){
$(this.addClass(“col-xs-4”);
$(this.removeClass(“col-xs-12”);
//在下一项之前插入
$(此)。插入后面的(“.itemE”);
}否则{
//删除任何其他展开项
$(.col-xs-12”).not(this).removeClass(“col-xs-12”).addClass(“col-xs-4”);
$(thi)