Переменные в jQuery - PullRequest
       0

Переменные в jQuery

1 голос
/ 03 июля 2011

У меня есть два вопроса по этому поводу:

  1. Я пытаюсь присвоить изображение переменной img1, а затем вставить эту переменную img1 в CSS, но это не работает. Что я делаю не так в коде ниже? (Обратите внимание, что код работает нормально, если я не использую переменную, т.е. если я помещаю путь к изображению непосредственно в него, поэтому я знаю, что должна быть проблема с переменной)

  2. Предполагая, что я могу заставить работать переменную img1, могу ли я каким-то образом превратить ее в идентификатор или класс, чтобы я мог манипулировать ею с помощью jQuery? Например, я хотел бы иметь возможность делать $ ("img1"). Hide (1000) так же, как я делаю это с классом .contactform в приведенном ниже коде.

    var img1 = url('/wp-content/themes/custom/images/blah.jpg') repeat;
    
    $("#submit").click(function(){
        $(".contactform").hide(1000,function(){
            $(".contactforms").css({display:"block"});
            $("body.custom").css({background: "img1"});
    
        });
    });
    

Ответы [ 3 ]

2 голосов
/ 03 июля 2011

Это недопустимый синтаксис Javascript.Вам нужно заключить ваш img1 в кавычки, чтобы он распознавался как строка.Попробуйте это:

var img1 = "url('/wp-content/themes/custom/images/blah.jpg') repeat";

$("#submit").click(function(){
    $(".contactform").hide(1000,function(){
        $(".contactforms").css({display:"block"});
        $("body.custom").css({background: img1});

    });
  });
1 голос
/ 03 июля 2011

$ ("body.custom"). Css ({background: "img1"});должно быть $ ("body.custom"). css ({background: img1});

"img1" - это литеральная строка для символов "img1", тогда как img1 - идентификатор переменной.

0 голосов
/ 03 июля 2011

Попробуйте сказать:

var img1 = "url('/wp-content/themes/custom/images/blah.jpg') repeat;";

С кавычками. Ваш двигатель JS должен был жаловаться. Всегда проверяйте консоль ошибок!

Для части 2 вы можете написать маленького помощника:

function setImage(img) {
  $("#submit").click(function() {
    $(".contactform").hide(1000,function() {
        $(".contactforms").css({display:"block"});
        $("body.custom").css({background: img});
    });
  });
}

Первоначально вы сказали бы setImage(img1), но позже вы можете вызвать его снова с другими параметрами. Если вам нужно только изменить имя файла, возможно, что-то вроде этого:

function setImageFilename(filename) {
  setImage("url('/wp-content/themes/custom/images/" + filename + "') repeat;");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...