Я столкнулся с проблемой с моим нахальством. Я продолжаю приветствовать появление ошибки неопределенной переменной, и я не понимаю, почему. Код разработан для того, чтобы индикатор за моей панелью навигации был больше при наведении курсора. Любые идеи?
Ошибка выглядит следующим образом:
Error: Undefined Variable: "$i". on Line 93 of style.sass.
Ниже приведен код SASS:
$menu-items: 5
$menu-items-loop-offset: $menu-items - 1
$width: (100/$menu-items) * 1%
.with-indicator
@for $i from 1 through $menu-items-loop-offset
.Nav-item:nth-child(#{$i}).is-active ~ .Nav-item:last-child:after
left: ($width*$i)-$width
.Nav-item:nth-child(#{$i}).is-active ~ .Nav-item:last-child:before
left: ($width*$i)+($width/2)-$width
@for $i from 1 through $menu-items-loop-offset
.Nav-item:nth-child(#{$i}):hover ~ .Nav-item:last-child:after
left: ($width*$i)-$width !important
.Nav-item:nth-child(#{$i}):hover ~ .Nav-item:last-child:before
left: ($width*$i)+($width/2)-$width !important
.Nav-item
&:last-child
&:hover, &.is-active
&:before
left: (100%-$width)+($width/2) !important
&:after
left: 100%-$width !important
Заранее спасибо за помощь.






В коде вашего вопроса тело обоих циклов @for пусто:
Вам нужно сделать отступ для правил, которые являются частью вашего цикла @for, чтобы они были включены в цикл:
$menu-items: 5
$menu-items-loop-offset: $menu-items - 1
$width: (100/$menu-items) * 1%
.with-indicator
@for $i from 1 through $menu-items-loop-offset
.Nav-item:nth-child(#{$i}).is-active ~ .Nav-item:last-child:after
left: ($width*$i)-$width
.Nav-item:nth-child(#{$i}).is-active ~ .Nav-item:last-child:before
left: ($width*$i)+($width/2)-$width
@for $i from 1 through $menu-items-loop-offset
.Nav-item:nth-child(#{$i}):hover ~ .Nav-item:last-child:after
left: ($width*$i)-$width !important
.Nav-item:nth-child(#{$i}):hover ~ .Nav-item:last-child:before
left: ($width*$i)+($width/2)-$width !important
.Nav-item
&:last-child
&:hover, &.is-active
&:before
left: (100%-$width)+($width/2) !important
&:after
left: 100%-$width !important
Переменная $i доступна только в рамках цикла @for.
Вам нужно добавить табуляцию или пробелы в разделе @for. Вместо
@for
your code
Напишите это
@for
your code
Фантастический. Я знал, что это будет что-то простое, что упустил из виду. Большое спасибо за Вашу помощь.