Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/441.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 跳转到特定项目时更新当前幻灯片数量-引导3转盘_Javascript_Jquery_Twitter Bootstrap_Twitter Bootstrap 3 - Fatal编程技术网

Javascript 跳转到特定项目时更新当前幻灯片数量-引导3转盘

Javascript 跳转到特定项目时更新当前幻灯片数量-引导3转盘,javascript,jquery,twitter-bootstrap,twitter-bootstrap-3,Javascript,Jquery,Twitter Bootstrap,Twitter Bootstrap 3,我修改了标准Boostrap 3旋转木马,以便在url与匹配时能够跳转到特定的幻灯片。它可以工作,但当跳转到特定幻灯片时,我的寻呼机文本不会更新。更新寻呼机文本的功能仅在项目滑动后才起作用。有人有办法吗 我的html: <li class="pager-text">1/{{ object.photo_set.count }}</li> 使用$('.carousel').carousel(数字)跳转到特定幻灯片 从引导文档 .传送带(编号) 将旋转木马循环到特定帧(基

我修改了标准Boostrap 3旋转木马,以便在url与
匹配时能够跳转到特定的幻灯片。它可以工作,但当跳转到特定幻灯片时,我的
寻呼机文本不会更新。更新
寻呼机文本
的功能仅在项目滑动后才起作用。有人有办法吗

我的html:

  <li class="pager-text">1/{{ object.photo_set.count }}</li>
使用
$('.carousel').carousel(数字)
跳转到特定幻灯片

从引导文档

.传送带(编号)

将旋转木马循环到特定帧(基于0,类似于数组)

有关使用哈希值跳转到特定幻灯片的更多信息,请参见

此外,要跳转到幻灯片的代码将在注册要更新
寻呼机文本的自定义代码之前执行,它也不会注册为“幻灯片”,因为您没有使用内置函数跳转到幻灯片

像这样的东西会给你你想要的结果

$(document).ready(function() {  
    //Initiate carousel
    $('.carousel').carousel({
        interval: false
    })

    //Event: Update pager-text on slide
    $('.carousel').on('slid.bs.carousel', function () {
        ...
    });

    //Jump to slide on page load
    $('.carousel').carousel(number);

}); 

通过更新
if(url.match('#'){
函数中的寻呼机文本修复了此问题。现在我可以键入www.mydomain.com/gallery url/#4,然后我被发送到第四个图像,寻呼机文本显示
4/total

$(document).ready(function() {  

    var url = document.location.toString();
    var totalItems = $('.item').length;

    //Initiate carousel
    $('.carousel').carousel({
        interval: false
    })

    $('.carousel').on('slid.bs.carousel', function () {

        var currentIndex = $('div.active').index() + 1;

        //Update pager-text
        $('.pager-text').text(''+currentIndex+'/'+totalItems+'');

        // Update location based on slide (index is 0-based)
        window.location.hash = "#"+ parseInt($('.carousel .carousel-inner .item.active').index()+1);
    });


    if (url.match('#')) {
        // Clear active item
        $('.carousel .carousel-inner .item.active').removeClass('active');

        // Activate item number #hash
        $('.carousel-inner div:nth-child(' + url.split('#')[1] + ')').addClass('active');

        //Update pager-text
        $('.pager-text').text(''+url.split('#')[1]+'/'+totalItems+'');

    }


}); 

谢谢你的回答,但是当我尝试用
$('.carousel').carousel(number)
替换
if(url.match('.#')){…
时,当我尝试#4时,我总是会看到旋转木马中的第一个图像。对不起,是我的浏览器缓存没有注册新的javascript。它可以工作,但我如何更改
$('.carousel').carousel')。旋转木马(数字);
以1为基础,而不是以0为基础?第一个图像/url应该是#1而不是#0(我想)感谢这个解决方案。但我有一个问题:当我使用浏览器返回到旋转木马页面时,旋转木马显示第一张幻灯片,然后转到正确的幻灯片。有什么方法纠正这个问题吗?
$(document).ready(function() {  

    var url = document.location.toString();
    var totalItems = $('.item').length;

    //Initiate carousel
    $('.carousel').carousel({
        interval: false
    })

    $('.carousel').on('slid.bs.carousel', function () {

        var currentIndex = $('div.active').index() + 1;

        //Update pager-text
        $('.pager-text').text(''+currentIndex+'/'+totalItems+'');

        // Update location based on slide (index is 0-based)
        window.location.hash = "#"+ parseInt($('.carousel .carousel-inner .item.active').index()+1);
    });


    if (url.match('#')) {
        // Clear active item
        $('.carousel .carousel-inner .item.active').removeClass('active');

        // Activate item number #hash
        $('.carousel-inner div:nth-child(' + url.split('#')[1] + ')').addClass('active');

        //Update pager-text
        $('.pager-text').text(''+url.split('#')[1]+'/'+totalItems+'');

    }


});