Смена логотипа в меню навигации при прокрутке в odoo - PullRequest
0 голосов
/ 14 июня 2019

Я пытаюсь изменить логотип навигации на темную версию при прокрутке.Я вижу, что заголовок имеет класс .affix при прокрутке, поэтому я попытался изменить его следующим образом, используя jquery:

$( document ).ready(function() {

if ($( "header .o_header_affix" ).hasClass("affixed")) {
$( ".navbar .navbar-brand img" ).attr( "src","http://placehold.it/220?text=Original+Logo!" );
}

});

Вот как выглядит HTML-разметка:

https://prnt.sc/o1t81i

но это не работает.любая помощь будет оценена!

однако, когда я пытаюсь это сделать:

$( document ).ready(function() {

$( ".navbar .navbar-brand img" ).attr( "src","http://placehold.it/220?text=Original+Logo!" );

});

это работает, но везде меняется логотип, а я хочу менять его только после прокрутки, поэтому когдазаголовок имеет класс .affixed

где моя ошибка?

Ответы [ 2 ]

0 голосов
/ 16 июня 2019

HTML-разметка в odoo настолько сложна, однако я нашел простое решение для CSS, если это кому-то понадобится.

.affixed .navbar a.navbar-brand {
  background-image: url("http://placehold.it/220?text=Original+Logo!");
  background-repeat: no-repeat;
  background-position: left;
  background-size: contain;

}

#wrapwrap .o_header_affix.affixed .navbar .navbar-brand img {
  visibility: hidden;
}
0 голосов
/ 14 июня 2019

Попробуйте удалить заголовок из оператора if.

if ($( ".o_header_affix" ).hasClass("affixed")) {
$( ".navbar .navbar-brand img" ).attr( "src","http://placehold.it/220?text=Original+Logo!" );
}

https://jsfiddle.net/carlos_27/mufLbhpg/3/

...