我正在尝试使用var“next”来根据点击的div的索引将id存储在数组“images”中。我需要这样做,因为div id可以是基于php的任何东西。
的JavaScript
var currentImage = 1;
var numImages = 0;
var images = new Array();
$(document).ready(function() {
$('.gallerypreview').each(function(i) {
images.push($(this).attr("id"));
});
$('.gallerypreview').click(function() {
var current = $(this).index();
alert(current);
});
$('.gallerypreview').each(function() {
numImages++;
});
$('.galleryrightbtn').click(function() {
moveLeft();
current++;
var next = $(current).get(this);
$('.gallerylightbox').hide(300);
$(next).show(300);
});
$('.galleryleftbtn').click(function() {
moveRight();
current--;
var next = $(current).get(this);
$('.gallerylightbox').hide(300);
$(next).show(300);
});
});
function moveLeft() {
if ((currentImage + 1) == numImages) {
$('.galleryrightbtn').css('display', 'none');
$('.galleryleftbtn').css('display', 'block');
} else {
$('.galleryrightbtn').css('display', 'block');
$('.galleryleftbtn').css('display', 'block');
}
if (currentImage < numImages) {
currentImage++;
}
}
function moveRight() {
if ((currentImage - 1) == 1) {
$('.galleryleftbtn').css('display', 'none');
$('.galleryrightbtn').css('display', 'block');
} else {
$('.galleryleftbtn').css('display', 'block');
$('.galleryrightbtn').css('display', 'block');
}
if (currentImage <= numImages) {
currentImage--;
}
}
HTML
<div class="gallerypreview" id="<?php echo $idvalue; ?>"></div>
<div class="gallerypreview" id="<?php echo $idvalueagain; ?>"></div>
<div class="gallerypreview" id="<?php echo $idvaluewhoknows; ?>"></div>
我想知道.get是否是正确使用的jQuery处理程序。
答案 0 :(得分:0)
正如人们在评论中提到的,$.get()
是使用GET HTTP方法的AJAX请求的包装器,也许你不需要一个数组来完成你想要的东西。
但是,假设您只想获取存储在图像数组中的值,您可以使用:
var next = images[current];
或
您可以使用.eq()
过滤器在给定索引处获取所需的元素,而无需将所有内容存储在数组中,请在代码中尝试:
$('.gallerypreview').click(function() {
// You could just use $(this).attr('id'); to get the id of the clicked div
// the code below is for the sake of example
var current = $(this).index();
var galleryPreviewId = $( '.gallerypreview' ).eq( current ).attr( 'id' );
alert( "The id of the div is: " + galleryPreviewId );
});
$( '.gallerypreview' ).eq( index )
将匹配的元素集(具有类gallerypreview的所有元素)减少到指定索引处的元素。
注意:获取元素的id后,您可能需要使用前缀#
来显示其id等于“next”的DOM元素:$( '#' + next ).show()
有关详情,请参阅.eq() filter。