Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
尝试在JQuery中对图像导航器进行环绕_Jquery_Event Handling_Navigation - Fatal编程技术网

尝试在JQuery中对图像导航器进行环绕

尝试在JQuery中对图像导航器进行环绕,jquery,event-handling,navigation,Jquery,Event Handling,Navigation,我正在使用JQuery制作一个简单的图像导航器 例如,如果我们总共有3张图片,它看起来像这样: Prev 1 2 3 Next //Write the onClick() event handler for "Prev" $('#prev').click(function(){ ind = ($('.image').index('.image:visible')+1); if (ind == 1){ hideAll(total

我正在使用JQuery制作一个简单的图像导航器

例如,如果我们总共有3张图片,它看起来像这样:

Prev 1 2 3 Next
//Write the onClick() event handler for "Prev"
    $('#prev').click(function(){

        ind = ($('.image').index('.image:visible')+1);

        if (ind == 1){
            hideAll(totalImages);
        }
        else{
            hideAll(ind-1);
        }
    });

    //Write the onClick() event hadler for "Next"
    $('#next').click(function(){
        ind = ($('.image').index('.image:visible')+1;

        if (ind == totalImages){
            hideAll(1);
        }
        else{
            hideAll(ind+1);
        }
    });
我正在使用.hide函数与.click来实现此功能

因此,每次我点击一个导航选项,就会显示一个图像,而其余的则隐藏起来

我得到了工作的123link

我在上一个和下一个的问题

我得给他们做个包裹。所以如果我在1上,我按下Prev,我必须转到3。或者如果我在3,我按下下一步,我转到1

我为Prev和Next编写了如下单击函数:

Prev 1 2 3 Next
//Write the onClick() event handler for "Prev"
    $('#prev').click(function(){

        ind = ($('.image').index('.image:visible')+1);

        if (ind == 1){
            hideAll(totalImages);
        }
        else{
            hideAll(ind-1);
        }
    });

    //Write the onClick() event hadler for "Next"
    $('#next').click(function(){
        ind = ($('.image').index('.image:visible')+1;

        if (ind == totalImages){
            hideAll(1);
        }
        else{
            hideAll(ind+1);
        }
    });
请注意,hideAllindex是一个函数,它隐藏除索引指定的图像之外的所有图像

它无法以以下方式正常工作:

从1开始,如果我按Prev,我正确地结束在3。 但当我再次按下Prev时,所有图像都变为空白。ind的值变为零

从1开始,如果我按下下一步,我正确地结束在2。
但从2开始,如果我按Next,我又会回到1,而不是3

您必须检查哪个图像是索引中的第一个/最后一个。这不是你问题的完整解决方案,但你应该给出一个如何解决它的想法

查看上一个和下一个函数

// Cache jQuery results
var element = $(this);
var items = element.find(options.slideitem);

// How many items to slide?
var total = items.length;
var count = 0;

// Hide all items but not first item
items.not(':first').hide();

// Calculate next item
function next() {      
    (count == total - 1) ? count = 0 : count++;
    transition(items, count);
    return false
};

// Calculate previous item
function previous() {
    (count == 0) ? count = total - 1 : count--;
    transition(items, count);
    return false
};

// Do transition between two slides
function transition(items, count) {
    if (options.effect == 'show') {
        items.hide().eq(count).show();
    };
    if (options.effect == 'fadeIn') {
        items.css('position', 'absolute');
        items.fadeOut(options.fadespeed).eq(count).fadeIn(options.fadespeed);
    };
};

那么它不起作用意味着什么呢?它根本不切换吗?它是否切换到错误的图像?您是否使用console.log输出了在单击“下一个”和“上一个”链接时尝试切换到的索引?它会停止执行我的所有其余代码。所以我没有导航栏什么的。我动态添加的其他div没有一个,它们不会被添加。你有任何类型的javascript错误吗?通常当其他脚本停止工作时,这是因为发生了javascript异常,这就停止了所有进一步的处理。我很抱歉,是的,有一个javascript错误,愚蠢的括号。好的,现在我的其余代码正在工作,但是有一些逻辑错误。我编辑了上面的问题来描述错误。