JQuery对象选择返回双组图像

时间:2018-05-25 13:51:11

标签: jquery object dynamic-arrays

我正在制作产品页面,其中我在主要产品图片下显示了一系列其他产品图片。我在后面的代码中加载这些附加图像,并显示前4个带有V形图像的图像,一次滚动浏览这些附加图像4。调试滚动浏览这些图像的JQuery时遇到的问题是我的each()循环有一组从选择器返回的图像。奇怪的是,会显示正确数量的图像;它不会显示第二组,但在我的逻辑中,当我到达最后一张图像时,我会隐藏正确的雪佛龙,我很难确定我是在最后一个选择。以下是我遇到问题的右侧V形码的代码:

    $('.chevright').unbind('click').click(function (e) {
    e.preventDefault();
    e.stopPropagation();
    var dsply = $('.chevright').css('display');
    if (dsply === 'none') {
        return;
    }
    var imgcount = 0;
    var imgdisp = '';
    var foundinline = 0;
    var imgclass = '';
    var imglast = $('.addlimgdiv img').last().attr('class').split(' ')[0];
    var lastdisp = '';
    $('.addlimgdiv img').each(function () {
        imgdisp = $(this).css('display');
        if (imgdisp !== 'none') {
            foundinline = 1;
        }
        if (foundinline === 1) {
            if (imgdisp !== 'none') {
                $(this).hide();
            }
            else {
                imgcount++;
                if (imgcount < 5) {
                    var newclass = $(this).attr('class').split(' ')[0];
                    if (newclass > imgclass) {
                        debugger;
                        $(this).show();
                        imgclass = $(this).attr('class').split(' ')[0];
                    }
                }
                else {
                    $(this).hide();
                }
            }
        }
    });
    // Don't go past the last image and hide chevron if last group of images
    debugger;
    if (imgcount < 5) {
        $('.chevright').hide();
    }
    if (imgclass === imglast) {
        $('.chevright').hide();
    }
    $('.chevleft').show();
    return false;
});

以下是显示9张图片的页面上的检查屏幕截图: enter image description here

这是一个附加变量的屏幕截图,显示了选择如何使图像加倍:

enter image description here

如果有人有任何想法,我想知道我做错了什么,让阵列加倍如图所示。我还有其他JQuery执行缩放功能,并点击每个附加图像来替换主图像显示。

如果需要,我可以提供额外的代码。

谢谢。

0 个答案:

没有答案