Переменная в селекторе jQuery - PullRequest
0 голосов
/ 14 декабря 2011

Надеюсь, это быстро и просто для вас.

Вот мой код:

var p7slide = 0;
$("#p7-forward").click (function () {
    p7animate = null;
    if (p7slide == 6)   {
        $("#p7-6").fadeOut("slow", function ()  {
            p7slide = 0;            
        });
    }
    else    {
        p7slide++;
        $("#p7-" + p7slide).fadeIn("slow");
        <!--$("#p7-" + "p7slide - 1").fadeOut("slow");-->
    };
});

Часть, на которую я ссылаюсь, является закомментированной строкой в ​​операторе else.

Что мне нужно сделать, это найти p7slide и взять 1 из этого значения. Тогда используйте это как селектор. Например. Если p7slide = 2, селектор соединит # p7-1. По какой-то причине это утверждение не работает.

Есть идеи, что я здесь не так сделал?

Спасибо

Ответы [ 2 ]

2 голосов
/ 14 декабря 2011

Вы жестко закодировали его как строку, а не как операцию.

замените

$("#p7-" + "p7slide - 1").fadeOut("slow");

на

var slideNumber = p7slide - 1;
$("#p7-" + slideNumber).fadeOut("slow");

Примечание: В JS, если вы сначала используете оператор + со строкой, а затем с числом, то вы объедините число в виде строки до конца первой строки, см .: http://www.quirksmode.org/js/strings.html дляболее подробная информация.

0 голосов
/ 14 декабря 2011

Попробуйте удалить теги "", поскольку вы не можете использовать числовые функции для строки

 $("#p7-" + p7slide - 1).fadeOut("slow");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...