首页 > 解决方案 > 在odoo中滚动时更改导航菜单上的徽标

问题描述

我正在尝试在滚动时将导航徽标更改为深色版本。当我滚动时,我看到标题有 .affixed 类,所以我尝试使用 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

我的错误在哪里?

标签: jquerynavigationodoo-12

解决方案


odoo 中的 HTML 标记非常复杂,但是如果有人需要,我找到了一个简单的 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;
}

推荐阅读