以下代码将列表项移动为小屏幕宽度上的最后一项:
$(document).ready(myfunction);
$(window).resize(myfunction);
function myfunction() {
if (xs == true) {
$('ul.page-nav-list').find('li.active').appendTo('ul.page-nav-list');
} else {
// how to get back to the original state
}
}
我的问题:如何将列表项恢复为原始状态以获得大分辨率?
我使用 Bootstrap 4 Breakpoint 插件来检测分辨率。
答案 0 :(得分:1)
像这样的东西
var orgIndex = 0;
$(function(){
orgIndex=$('ul.page-nav-list').find('li.active').index();
myFunction();
});
$(window).resize(myFunction);
xs=true;
function myFunction() {
if (xs) {
$('ul.page-nav-list').find('li.active').appendTo('ul.page-nav-list');
} else {
$('ul.page-nav-list').find('li.active').appendToWithIndex($('ul'),orgIndex)
}
}
//https://stackoverflow.com/a/18593267/295783
$.fn.appendToWithIndex = function(to, index) {
if (!to instanceof jQuery) {
to = $(to);
};
if (index === 0) {
$(this).prependTo(to)
} else {
$(this).insertAfter(to.children().eq(index - 1));
}
};
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<ul class="page-nav-list">
<li class="active">Active</li>
<li>Inactive</li>
<li>Inactive</li>
<li>Inactive</li>
</ul>