【问题标题】:Statement giving unexpected results. is statement written wrong using :not?给出意外结果的声明。使用 :not 的语句写错了吗?
【发布时间】:2015-06-07 23:53:43
【问题描述】:

我有 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(); }

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

【问题讨论】:

  • 所有if 语句似乎都以$('div.nivoSlider:not(#c' + id + ')'). 开头?可以在问题中包含html 吗?
  • 定义“不工作”。你看到了什么行为?该问题很可能与您正在处理的 HTML 有关。你能用 HTML 和 JavaScript 创建一个代码 sn-p 来显示你所看到的吗?
  • 对不起,我生病了。我很欣赏你的样子。想不到今天要回复。每个 if 语句都应该通过 id 选择其他 2 个滑块并将它们关闭。所以取决于点击哪个id。即 1 然后 2 和 3 需要关闭。 id 2 选择然后 1 和 3 需要关闭。这就是我使用 :not 的原因。我在上面的 cmets 上写了真正发生的事情,而不是我认为应该发生的事情。我不知道如何将代码放在小提琴中,因为它需要 nivoslider css 等。我真的相信这与滑块而不是逻辑有关。
  • @guest271314 对不起,我不明白你的意思?
  • 问题中能否包含html

标签: jquery if-statement logic


【解决方案1】:

您的预期功能可以这样简化:

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

JsFiddle 上查看演示。

【讨论】:

  • 我也会试试这个。我现在病了。 tks.
【解决方案2】:

我做了更多的调试,看来我的问题不是逻辑。 我相信它与 nivo 滑块有关。我将在 nivo-slider 上发布一个问题,看看是否有人对此有任何经验。 谢谢大家的答案。 格德卡

【讨论】:

    猜你喜欢
    • 2012-04-09
    • 2019-03-06
    • 1970-01-01
    • 2021-05-02
    • 1970-01-01
    • 2012-11-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多