Проблема с установкой свойства css через js

106
11 декабря 2019, 13:10

Есть на сайте структура <ul><li><ul><li>. То есть в каждом элементе первого списка еще по списку. Через css меняю свойство top:

.well.sidebar-nav>ul>li>ul{
top: 150px;
}

Список опускается. Тоже самое делаю через js:

    $(document).ready(function(){
    var menu = $('.well.sidebar-nav ul');
    var block = $('.well.sidebar-nav ul>li>ul');//Беру список
    var menuItems = menu.find('li');
    menuItems.mouseover(function(){
        $(this).addClass('hovered');
        $(block).css.top = $(this).offset().top - 268.3999938964844;
        //Меняю списку свойство top
        $(this).mouseleave(function(){
            $(this).removeClass('hovered');
        })
    });});

Ничего на самой странице не меняется. Пробовал выводить $(block).css.top в консоль, он меняется. Без JS не получится, так как нужно динамически отодвигать этот список. Подскажите пожалуйста, что у меня не так.

Answer 1

.css в jQuery объекте это функция.

В данном случае

$(block).css.top = $(this).offset().top - 268.3999938964844;

Функции добавляется свойство top.

Для того, чтобы выполнить функцию, ее нужно вызвать, передав название параметра, и значение:

$(block).css('top',$(this).offset().top - 268.3999938964844);
READ ALSO
Найти общие точки у графиков OxyPlot

Найти общие точки у графиков OxyPlot

У меня есть два графика, нарисованные с помощью oxyplot, шаг графиков - 001, графики рисуются по массивам, то есть их нельзя задать какой-либо функцией

118
Не отображается Content

Не отображается Content

Можете подсказать в чем проблемаУ меня есть UserControl c ListBox, с помощью него я выбираю страницу для отображения в ContentPresenter

112
Как определить версию dll и exe файла в C#?

Как определить версию dll и exe файла в C#?

Необходимо в приложении проверять версию dll и exe файла (данные файлы сторонние, и не используются в самой программе) так же необходимо вывести...

126
Как разделить лист на два по предикату?

Как разделить лист на два по предикату?

Имеется лист, из которого необходимо получить два согласно предикатуНа данный момент делаю так:

141