2013-05-21 76 views
0

我有一个幻灯片是用JQuery定制的;如何在幻灯片中将类添加到当前图像?

$(document).ready(function() { 
    $animating_slideshow = false; 
    $animation_speed = 1000; 
    $amount_of_slides = $("#slider").find(".img-games").find(".img-game").length; 

    $("#slider-left").on("click", function() { 
     if (!$animating_slideshow) { 
      $slidden = parseInt($(this).parent().find(".img-games").css("margin-left")); 
      if ($slidden > 0 || $slidden < 0) { 
       $(this).parent().find(".img-games").animate({"margin-left":"+=170"}, $animation_speed, function() { 
        $animating_slideshow = false; 
       }); 
       $animating_slideshow = true; 
      } else { 
       $(this).parent().find(".img-games").animate({"margin-left":-($amount_of_slides-1) * 170}, $animation_speed, function() { 
        $animating_slideshow = false; 
       }); 
       $animating_slideshow = true; 
      } 
     } 
    }); 

    $("#slider-right").on("click", function() { 
     if (!$animating_slideshow) { 
      $slidden = parseInt($(this).parent().find(".img-games").css("margin-left")); 
       if ($slidden > -($amount_of_slides-1) * 170) { 
        $(this).parent().find(".img-games").animate({"margin-left":"-=170"}, $animation_speed, function() { 
        $animating_slideshow = false; 
       }); 
        $animating_slideshow = true; 
       } else { 
        $(this).parent().find(".img-games").animate({"margin-left":"0"}, $animation_speed, function() { 
        $animating_slideshow = false; 
       }); 
       $animating_slideshow = true; 
       } 
     } 
    }); 
}); 

这是我的html ...

<div id="slider"> 
     <div class="img-games"> 
      <div id="this_slide" class="img-game"> 
       <img src="http://www.maxdamage.org/wp-content/uploads/2012/05/pokemon-gameboy.jpg" width='170px' height='115px' class='degrades' alt='pokemon' title='Pokemon'> 
      </div> 
      <div class="img-game"> 
       <img src="http://1.bp.blogspot.com/-U62BIDPN79U/UV1hPr9xtAI/AAAAAAAAENs/mKIrEDb4RAw/s320/Super_mario_land.png" width='170px' height='115px' class='degrades' alt='Mario' title='Mario'> 
      </div> 
      <div class="img-game"> 
       <img src="http://1.bp.blogspot.com/-J7x8JfY21Yk/UUea7UsjUZI/AAAAAAAAA0M/E2qpkAZFsnM/s1600/links_awakening2.png" width="170px" height="115px" class="degrades" alt='Zelda' title='Zelda'> 
      </div> 
      <div class="img-game"> 
       <img src="http://www.consoleclassix.com/info_img/Rayman_GBC_ScreenShot2.gif" width="170px" height="115px" class="degrades" alt='Rayman' title='Rayman'> 
      </div> 
     </div> 
</div> 

我怎么会去加入一个名为“当前”,以当前可在屏幕上看到,任何帮助将像新类不胜感激,提前致谢!

回答

1

两个可能的解决方案:

1)如果你跟踪的幻灯片放映当前索引的,你可以用它来设置类,如下所示:

$('.current').removeClass('current'); 
$('.img-game:eq(' + currentIndex + ')').addClass('current'); 

2),当点击左边或右边,使用current类的位置将该类重新分配到其他位置。下面是一个左击例如:

$('.current').removeClass('current').parent().next().child('.img-game') 
    .addClass('current') 

对于点击右键,你会用.prev(),而不是.next()。在更改选择之前,还应该包含一个检查以确保下一个元素存在。

+0

你,我的好先生刚刚为自己赢得了一个可以接受的答案!并进行投票 – user2406160

相关问题