Jquery css.not(this)元素,根据它';s指数
我正在尝试创建一个手风琴滑块。 到目前为止,我已设法:Jquery css.not(this)元素,根据它';s指数,jquery,css,Jquery,Css,我正在尝试创建一个手风琴滑块。 到目前为止,我已设法: 通过将滑块宽度除以滑块数量,开始每个滑块的第一个位置 每次单击幻灯片都会将其移动到一个等于当前幻灯片索引值5%*的位置(例如第一张幻灯片的0x5%,第二张幻灯片的1x5%,第三张幻灯片的2x5%,等等) 以下是迄今为止的代码: jQuery(document).ready(function($) { $(".slides li").each(function(initial) { var sliderwidth = $(".s
jQuery(document).ready(function($) {
$(".slides li").each(function(initial) {
var sliderwidth = $(".slides").width(); //entire slider width
var slideindex = $(".slides li").length; //how many slides are in a slider
var firstpos = sliderwidth / slideindex; //divided entire width by number of slides (1000/4 in this case, equals 250)
initial = initial * firstpos; //each slides's initial position is incremented by 250, making the slides position 0, 250px, 500px, 750px
$(this).css("left", initial); //css left with numbers above
});
$(".slides li").click(function() {
var moveindex = $(".slides li").index(this); //the index value of the clicked slide (eg. 0, 1, 2 or 3)
var movethis = parseInt(moveindex, 10) * 5; //multiply index value of current slide by 5 (as we want each slide to position itself on click 5% to the left)
$(this).css("left", movethis + "%"); //css left with numbers above
});
});
现在,我试图让其他幻灯片(不是当前单击的幻灯片)根据它们的相对索引值移动。例如:
单击幻灯片#4将幻灯片1移动到0x5%,幻灯片2移动到1x5%,幻灯片3移动到2x5%
但是我找不到一个方法
$(".slides li").not(this).index();
有什么想法吗
谢谢 使用
index
可以在调用index
的结果集中获取已传递元素的索引
因此,您希望迭代所有不属于此的li
,并检查索引此li
在所有li
列表中的内容:
var listOfAllLi = $(".slides li")
var listWithoutThis = listOfAllLi.not(this)
listWithoutThis.each(function(_, element) {
var indexOfElement = listOfAllLi.index(element)
console.log(indexOfElement)
})
谢谢那么,我该如何将其插入到单击功能中呢?@IDoanger Bohadana这将在单击功能中起作用。您确实需要将console.log(listOfAllLi.index(element))
替换为对元素有用的代码。请尝试以下操作:var listOfAllLi=$(.slides li”)var listofally without this=listOfAllLi。而不是(this)listofally without this。每个(函数(idx,element){.idx=idx*5;$(.slides li”)。不是(this)。css(“左”,idx+“%”;})但不起作用…我做错了什么?@IDoanger Bohadanaelement
是您要移动的元素,listOfAllLi.index(element)
是该元素的索引。所以您想使用$(.slides li”)。不是(这个)
同样,如果您已经有了元素
?啊!类似这样的东西:没有这个的列表。每个(函数(idx,元素){var previndex=listOfAllLi.index(元素)*5$(元素).css(“左”,previndex+“%”;})