jQuery UI 可排序:如何保持已更改项目的 css 值不变
jQuery UI sortable: how to leave css values of changed items untouched?
我有一个列表,其中 z 索引以相反的顺序设置:
<ul>
<li style="z-index: 3;">First item</li>
<li style="z-index: 2;">Second item</li>
<li style="z-index: 1;">Third item</li>
</ul>
使用 jQuery UI 可排序,我希望在对项目进行排序时实现元素的 z 索引不变的效果。比如说,我想按以下顺序对所有表示的项目进行排序:第二、第三、第一。但是不要动 z 索引!
谢谢。
这就是我到目前为止在JS上取得的成就(我在这方面都是新手):
$('#widget-2').sortable({
start: function(event, ui) {
ui.item.data('originIndex', ui.item.css('z-index'));
},
change: function(event, ui) {
ui.item.data('placeholderIndex', ui.placeholder.css('z-index'));
var originIndex = ui.item.data('originIndex');
var placeholderIndex = ui.item.data('placeholderIndex');
ui.placeholder.css('z-index', originIndex);
ui.item.css('z-index', placeholderIndex);
}
});
由于您已经在页面上使用了JavaScript,因此我建议您使用这个微小的jQuery插件在文档就绪上计算和分配z-index
:
$.fn.reverseZIndex = function () {
// get the children of the list.
var $children = this.children(),
length = $children.length;
$children.each(function (index) {
// assign z-index, high values to low.
this.style.zIndex = length - index;
});
return this;
};
$(document).ready(function () {
var $widget2 = $('#widget-2');
// calculate reversed z-index.
$widget2.reverseZIndex();
// initialize sortable.
$widget2.sortable(...);
});
然后,您可以在任何给定的列表,<ul>
或<ol>
(甚至是父<div>
)上使用此插件,因此孩子们将以相反的顺序进行z-index
。
在 jQuery 可排序的 change
中执行相同的操作,以更新z-index
:
$widget2.sortable({
...
change: function () {
...
$widget2.reverseZIndex();
}
...
});
使用nth
子 http://codepen.io/anon/pen/pvEdMw
.HTML
<ul>
<li >aaa</li>
<li>aaaasdsd</li>
<li>fgf</li>
</ul>
.CSS
li{
background-color:orange;
}
li:nth-child(n-3){
color:red;
}
li:nth-child(n+2){
color:blue;
}
li:nth-child(n+3){
color:green;
}
简讯
$('ul').sortable();
相关文章:
- 没有在django项目中加载CSS文件
- 单击相应的“btn”时编辑“项目”的css
- 在项目中组织CSS/JavaScript的最佳方式是什么
- 为什么我的css文件不能与MCV项目一起使用
- mvc项目中javascript和css文件的浏览器缓存
- IE(仅)在幻灯片中悬停时获得最高边距?(CSS和链接到项目包含)
- 在单击选项卡式项目时隐藏和创建另一个对象 - HTML CSS
- 如何将 css 和 javascript 放在一个公共库/项目中
- IE 7,CSS 将项目悬停在 JS 滑块上
- jQuery/CSS 在我的第一个项目上的定位是蚀刻草图
- 如何正确地缩小/组合网页项目中的CSS/JS与url重写
- CSS flex最后一个不完整行项目采用完整行项目的宽度
- Windows 8网格模板JS应用程序,CSS操作不会显示在groupedItems视图中的所有选定项目上
- 将HTML/CSS项目导入可视化前端编辑器
- CSS没有在我的Angular项目中应用
- 使用html-css引导程序(lightbox)的小项目
- jquery:单击新项目时重置css
- 悬停框CSS内的项目符号列表
- 如何计算项目中JS、CSS、LESS、HTML文件的代码行总数
- 尝试针对特定的菜单项只更改菜单中的前四个项目's css