Проблема с использованием if is () addClass () / removeClass () - PullRequest
0 голосов
/ 25 октября 2011

Я пытаюсь заставить скользящий элемент переключаться, анимируя его выравнивание и добавляя / удаляя классы вместо того, чтобы просто использовать функцию .toggle ().

К сожалению, мой код не хочет удалять или добавлять какие-либо классы, так как я добавил

if

$(document).ready(function() {  
    $(".slide-img-4").click(function(){
   if ("#slide4").is("mright") {
     $("#slide4").animate({ left: -610 }, "normal");
         $("#slide4").removeClass("mright");
        }
       else {
         $("#slide4").animate({ left: 610 }, "normal");
         $("#slide4").addClass("mright");
       };
    });
}); 

Ответы [ 3 ]

1 голос
/ 25 октября 2011

Синтаксис для оператора if недопустим;условие должно иметь круглые скобки вокруг него.Кроме того, "$slide4".is("mright") получит ошибку времени выполнения;Строки не имеют is метода.Вы, вероятно, хотели сначала выбрать #slide4 в качестве объекта jQuery:

$(document).ready(function () {
    $(".slide-img-4").click(function () {
        if($("#slide4").is("mright")) {
            $("#slide4").animate({
                left: -610
            }, "normal");
            $("#slide4").removeClass("mright");
        } else {
            $("#slide4").animate({
                left: 610
            }, "normal");
            $("#slide4").addClass("mright");
        };
    });
});
1 голос
/ 25 октября 2011

Я думаю, вы пропустили период для класса Mright.

if (("#slide4").is(".mright")) {

Я не уверен, что это сработает. Возможно, вы захотите попробовать.

if (("#slide4").hasClass("mright")) {
1 голос
/ 25 октября 2011

Изменить if ("$slide4").is("mright") на if ($('#slide4').hasClass('mright'))

...