【发布时间】:2012-05-07 19:21:47
【问题描述】:
我正在开发一个能够在页面上创建/添加新元素的网站。我想对页面上添加的每个元素的 z-index 进行控制。这样我就可以将一个 div 放在另一个 div 之上。
<div class="element ui-resizable ui-draggable" style="z-index:10000">
<div id="controller">
<a href="#" class="zup"> move up </a>
<a href="#" class="zdown"> move down </a>
</div>
<div class="content">
some text content her
</div>
</div>
javascript
$('.zup').click(function() {
$cur_zindex = $(this).parents('.element').css('zIndex');
$(this).parents('.element').css({ zIndex: $cur_zindex+1 })
})
$('.zdown').click(function() {
$cur_zindex = $(this).parents('.element').css('zIndex');
$(this).parents('.element').css({ zIndex: $cur_zindex-1 })
})
问题是当我多次单击元素的“上移”时,我还需要多次单击“下移”才能使当前元素位置在后面。那是因为我多次单击时 z-index 上的差距。
简而言之,我想为用户提供一种简单的方法来设置 z 索引,无论您单击多少“上移”,然后如果有人在另一个元素上单击“上移”,它将自动位置在多次点击的 zindex 的顶部/上移
非常欢迎任何建议。
谢谢
【问题讨论】:
-
所有元素最初都添加到同一个 z-index 上吗?如果是这样,您可以将所有元素重置为该索引,然后将用户希望向上移动的元素增加一。
-
所有元素最初都有相同的z-index,“是”,但是当用户开始重新排列元素位置时我想保留它,因为页面上可能有超过20个元素..谢谢你的回复。
-
有一个变量存储下一个要使用的 z-index,当一个元素被点击移动到顶部时,使用变量中的存储索引,然后为下一个增加它。这将确保元素位于顶部。
标签: jquery jquery-ui z-index jquery-ui-draggable