Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 重新排列<;ul>;将活动元素保持在中心位置的步骤_Javascript_Jquery_Css - Fatal编程技术网

Javascript 重新排列<;ul>;将活动元素保持在中心位置的步骤

Javascript 重新排列<;ul>;将活动元素保持在中心位置的步骤,javascript,jquery,css,Javascript,Jquery,Css,我正在尝试构造一个菜单,当你点击它时,它会使活动的li保持在相同的位置,并向相邻的li添加一个类(这样它们就可以被设置样式) 这个想法是,允许我创建一个“3D轮子”效果-即点击的元素垂直放置在ul的中心 <div id="container"> <ul> <li>1</li> <li class="adj">2</li> <li class="active"&g

我正在尝试构造一个菜单,当你点击它时,它会使活动的li保持在相同的位置,并向相邻的li添加一个类(这样它们就可以被设置样式) 这个想法是,允许我创建一个“3D轮子”效果-即点击的元素垂直放置在ul的中心

 <div id="container">
    <ul>
        <li>1</li>
        <li class="adj">2</li>
        <li class="active">3</li>
        <li class="adj">4</li>
        <li>5</li>
        <li>6</li>
    </ul>
</div>
什么想法重新排序UL,使活动元素总是在中间与正确的相邻Li?

有趣的问题;但我可能仍然不清楚“重新排列ul”的目的是什么——一些元素会交换位置吗?因为我不认为转换会与元素移除/移动一起工作,所以我在考虑一种更复杂的解决方案,即完全放弃标准布局,使用加法transform2d将块放置在正确的位置。@Katana314我的理由是,这种方法允许将所有块相对放置,然而,变换/定位方法强制它是绝对的。代码更少/强度更低?(也许?)我理解你的感受——我的想法是,所有的定位最终都是绝对的。您可能会在定位自己时做一些数学运算,但只要此选项轮只包含已知的元素类型,就可以非常轻松地根据“预期”索引计算位置。
$.fn.exchangePositionWith = function(selector) {
var other = $(selector);
this.after(other.clone());
other.after(this).remove();
};

$(this).addClass('active').exchangePositionWith('#frontpage_slider_menu li:eq(2)');