Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.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
Javascript 点导航JQuery幻灯片放映_Javascript_Jquery - Fatal编程技术网

Javascript 点导航JQuery幻灯片放映

Javascript 点导航JQuery幻灯片放映,javascript,jquery,Javascript,Jquery,我对JQuery很陌生,我有一个关于点导航的问题 我有一些英雄的内容,我用这里的帖子和JQuery网站把它们放在一起。基本上我有3个div容器,它们在一个循环中隐藏和显示。我还有另外三个div容器,其中有点我想用作导航。在循环过程中,点会改变颜色以表示页面当前所在的幻灯片 我现在想做的是在每个点上添加一个点击事件,这样循环就会跳到并显示相应的内容 下面是我的Java脚本 $('.heroContBG').each(function() { $(this).hide

我对JQuery很陌生,我有一个关于点导航的问题

我有一些英雄的内容,我用这里的帖子和JQuery网站把它们放在一起。基本上我有3个div容器,它们在一个循环中隐藏和显示。我还有另外三个div容器,其中有点我想用作导航。在循环过程中,点会改变颜色以表示页面当前所在的幻灯片

我现在想做的是在每个点上添加一个点击事件,这样循环就会跳到并显示相应的内容

下面是我的Java脚本

        $('.heroContBG').each(function() {
        $(this).hide(0);
    });
    $('.heroContBG').first().show(0);
    $('.heroDots').last().removeClass('heroNavOff').addClass('heroNavOn');
    var delay = 6000; //Set delay time
    var divIdx = 0; //Set divIdx value
    var arrDiv = $('.heroContBG').toArray(); //Assign all heroContBG divs to array
    var arrDot = $('.heroDots').toArray(); //Assign all heroDots divs to array
    arrDot = arrDot.reverse(); //Reserve array index for Dot Navigation  

    function heroBG(){
        var $out = $(arrDiv[divIdx]); //Set $out variable to current array index (set by divIdx)
        var $dotOut = $(arrDot[divIdx]); //Set dotOut variable to current array index (set by divIdx)
        divIdx = (divIdx + 1) % arrDiv.length; //Convert array index 0-2 into 1-3
        var $in = $(arrDiv[divIdx]); //Set $in to $arrDix[divIdx]
        var $dotIn = $(arrDot[divIdx]); //Set $dotIn to $arrDot[divIdx]
        $out.fadeOut(600).hide(); //Hide element
        $dotOut.removeClass('heroNavOn').addClass('heroNavOff'); //Swap classes on .heroDots
        $in.fadeIn(1600).show(); //Show next element
        $dotIn.removeClass('heroNavOff').addClass('heroNavOn'); //Swap classes on .heroDots
    }
    setInterval(heroBG, delay); //Tell browser to loop through elements.
我想我需要做的是让一个click事件将divIdx值设置为与相应div容器的值相匹配,但到目前为止我还没有运气

我会继续玩这个,如果我成功了,我会把它贴在这里。如果有人知道怎么做,那就太好了

我还应该提到,我并不真的想使用第三方插件,因为我非常渴望提高我的JQuery技能

干杯

Simon

只需使用获取目标兄弟姐妹的位置。然后将返回的索引值分配给divIdx


希望这能有所帮助:

嗨,博士,你能为我把这一点放在更详细的上下文中吗?这将必须进入函数内部,我还假设我需要将其放入IF中,以检查点是否被点击?正如我所说,我对JQuery和Java脚本非常陌生。这是我最后得到的结果。我将它添加到了我的函数顶部。“code'$'.heroDots”。单击函数{var$out=$arrDiv[divIdx];var$dotOut=$arrDot[divIdx];divIdx=$this.index;如果divIdx==0{divIdx=2;}否则如果divIdx==2{divIdx=0;}var$in=$arrDiv[divIdx];var$dotIn=$arrdix=$[divIdx];$out.fadeOut100.hide;$doout.removeClass'heroNavOn.addClass'heroNavOff';$in.fadeIn300.show;$dotIn.removeClass'heronavof.addClass'heroNavOn';'Index value'+divIdx;$'.heroDots.unbindclick;};'code'