使用jQuery切换徽标

时间:2016-03-15 15:39:55

标签: jquery wordpress

我正在使用Divi WordPress主题,在向下滚动时将类.et-fixed-header添加到#main-header。在标题中有徽标,我希望在有.et-fixed-header课时更改。

这是我的jQuery:

$(document).scroll(function () {
    if ($('#main-header').hasClass( 'et-fixed-header' )) {
         $('#logo').attr('src', 'new-img.png');
    }


});

我的问题是,如果.et-fixed-header中没有#main-header,如何将其设为默认徽标。当我向下滚动时,我的代码正在替换徽标,但是当我向上滚动时,或者换句话说,当.et-fixed-header中没有这样的类#main-header时,它不会转到默认徽标。我理解我需要放置else语句但不确定代码。任何帮助都将是值得赞赏的。

修改

徽标通过主题选项上传,而不是由用户手动放置

1 个答案:

答案 0 :(得分:1)

将原始徽标设置为js变量,然后您可以切换回#main-header失去.et-fixed-header课程。

var origImage = '';
$(document).scroll(function () {
    if($('#logo').attr('src') != 'new-img.png') {
        origImage = $('#logo').attr('src')
    }
    if ($('#main-header').hasClass( 'et-fixed-header' )) {
        $('#logo').attr('src', 'new-img.png');
    }
    else {
        $('#logo').attr('src', origImage);
    }
});