2016-02-19 31 views
-1

在阵列前面的元素,我有以下问题:获取下一个或点击上或下按钮

我有两个div,只有其中一个显示当我点击下一个或前一个按钮,另一种被显示并且可见的被设置为隐藏。显示的div有“主动”类。现在,我需要得到这个类的div的id。问题是,我总是得到前一个的id,因为当我点击按钮时,我首先得到id,然后类改变了。我不知道为什么,如果改变类的代码被写入在得到id的代码之前。

我该如何解决这个问题?

<div class="item <?php if($i == 1) echo 'active';?>" id="<?php echo $dati['id'];?>"> 
      <div class="container"> 
       <div class="carousel-content"> 
       <h1><?php echo $dati['titolo'];?></h1> 
       <p class="lead"> 
        <?php echo $desc_feed;?> 
       </p> 
       </div> 
      </div> 
      </div> 


<a class="prev" href="#main-slider" id="next-carousel" data-slide="prev"><i class="icon-angle-left"></i></a> 
    <a class="next" href="#main-slider" id="prev-carousel" data-slide="next"><i class="icon-angle-right"></i></a> 

function show_feed_data(id) 
{ 
    get_feed_data(id); 
} 




$("#prev-carousel").click(function() { 
    var id_feed_to_show = $(".active").attr("id"); 
    get_feed_data(id_feed_to_show); 
}); 

$("#next-carousel").click(function() { 
    var id_feed_to_show = $(".active").attr("id"); 
    get_feed_data(id_feed_to_show); 
}); 
</script> 

回答

0

它,因为你所得到的电流active元素的ID它触发转盘更改类之前。

让我们的每个轮播div是兄弟姐妹(彼此相邻)。你可以这样做:

$("#prev-carousel").click(function() { 
    var id_feed_to_show = $(".active").prev().attr('id'); 
    get_feed_data(id_feed_to_show); 
}); 

$("#next-carousel").click(function() { 
    var id_feed_to_show = $(".active").next().attr("id"); 
    get_feed_data(id_feed_to_show); 
}); 
+0

现在我只得到第一个ID ..第二个是未定义的 –

相关问题