Я реализую плагин slim scroll на моей странице (он преобразует полосы прокрутки по умолчанию на прокручиваемые divs в более красивые), а вызов реализации, как в их примере, выглядит следующим образом:
$('#inner-content-div').slimScroll({
height: '250px'
});
Поскольку у меня есть потребность в более прокручиваемых divs разной высоты, мне нужно будет вызывать этот плагин несколько раз, передавая разную высоту в качестве аргумента каждый раз.
Чтобы уменьшить так много кода, сделайте его более читаемым, но также, чтобы избежать необходимости менять мой JS при изменении моего CSS, могу ли я использовать что-то в этом роде:
$('#inner-content-div').slimScroll({
height: $(this).css('height')
});
Вышеприведенный пример, конечно, не работает, это просто то, что я пробовал, и это не удалось. Но это должно проиллюстрировать мое намерение.
Нет, вы не можете, поскольку не существует области, определяющей значение this
элемента, но вы можете создать такую область с each
$('#inner-content-div').each(function() {
$(this).slimScroll({
height: $(this).css('height')
});
});
ваш код будет работать, только если вы установите высоту для элемента в css. иначе $(this).height();
Сделаю
Вы можете сделать это:
var myElem = $('#inner-content-div');
myElem.slimScroll({
height: myElem.css('height')
});
Это будет работать так, как вы планируете. Просто назначьте элемент и используйте его.
$(this).height();
Сделаю