massef
@massef

Как сделать добавлением удаление класса для дебагинга?

Нужно сделать добавление/удаление класса к элементу html, но чтобы это работало только в том случае если в адресной строке указан какой-нибудь параметр.

Как это делается? Что почитать?
  • Вопрос задан
  • 120 просмотров
Решения вопроса 2
Pshkll
@Pshkll
Функция для работы с параметрами:
var getUrlParameter = function getUrlParameter(sParam) {
    var sPageURL = decodeURIComponent(window.location.search.substring(1)),
        sURLVariables = sPageURL.split('&'),
        sParameterName,
        i;

    for (i = 0; i < sURLVariables.length; i++) {
        sParameterName = sURLVariables[i].split('=');

        if (sParameterName[0] === sParam) {
            return sParameterName[1] === undefined ? true : sParameterName[1];
        }
    }
};


К примеру у вас есть site.com/?stol=stol-yglovoi
var stol = getUrlParameter('stol');

Дальше проверяете полученное значение и если оно вам подходит, то
$("ваш-элемент").addClass("ваш-класс-для-добавления");

или
$("ваш-элемент").removeClass("класс-для-удаления")
Ответ написан
Комментировать
Raxen
@Raxen
TechLead Frontend Developer, Beeline
// Функция парсящая адресную строку на ключи
var getUrlParameter = function getUrlParameter(sParam) {

      var sPageURL = decodeURIComponent(window.location.search.substring(1)), 
	sURLVariables = sPageURL.split('&'), 
	sParameterName, 
	i;
    for (i = 0; i < sURLVariables.length; i++) {
       sParameterName = sURLVariables[i].split('=');
   
    if (sParameterName[0] === sParam) {
	      return sParameterName[1] === undefined ? true : sParameterName[1];
	}
    }
};

// Добавляем в переменную foo значение ключа query из адресной строки, т.е./?query=значение
var foo = getUrlParameter(‘query’); 

// если значение query=true, меняем класс
if (foo === "true") {
   $(element).toggleClass('class');
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы