声明发出意外结果。声明写错了使用:不是吗?

时间:2015-06-07 23:53:44

标签: jquery if-statement logic

我有3个id == 1 id == 2 id == 3。每个幻灯片都是在加载时打开的。使用NOT我希望关闭不是由id选择的2张幻灯片。 这不起作用。当选择ID 1时 - 1和2都关闭而不是2和3.当选择ID 2时 - 1和2都关闭而不是2和3.当选择ID 3时 - 1和3都关闭而不是1和2。  这是一个逻辑错误还是与幻灯片代码有关?

 if (id == 1){
     alert(id);
     $('div.nivoSlider:not(#c' + id + ')').data('nivoslider').stop(); }

 if (id== 2){ 
     alert(id);
     $('div.nivoSlider:not(#c' + id + ')').data('nivoslider').stop(); }

     if (id== 3) {
     alert(id);
    $('div.nivoSlider:not(#c' + id + ')').data('nivoslider').stop(); }

希望我已经提供了足够的信息。 谢谢你的帮助。

2 个答案:

答案 0 :(得分:0)

您的预期功能可以简化为:

$(document).ready(function() {
    $('.nivoSlider').click(function() {
      id = $(this).prop('id');
      $('div.nivoSlider:not(#' + id + ')').text('Stop now.');
      $('div#' + id + '').text(id);
    });
});

请参阅JsFiddle上的演示。

答案 1 :(得分:0)

我做了更多的调试,似乎我的问题不是逻辑。 我认为它与nivo滑块有关。我将在nivo滑块上发布一个问题,看看是否有人对此有任何经验。 谢谢大家的答案。 geddeca