javascript - 在滚动上交换我的 Logo 图像(修改现有脚本)

标签 javascript jquery

我正在 HubSpot COS 上工作一个主题。有一些用于“粘性” header 的 js。

function stickyHeader( logoheight, logowidth ) {

    $(window).scroll(function() {

        if ($(window).width() >= 768) {
            var distanceY = $(window).scrollTop();
            var shrinkOn = 100;
            var header = $( '.header-container-wrapper' );
            var logo = $( '.header-container-wrapper img' );

            if (distanceY > shrinkOn) {
                if ( !header.hasClass( 'sticky' ) ) {
                    var logowith_sm = ~~ ( logowidth / logoheight * 55 );
                    logo.transition({height: '55px', width: logowith_sm + 'px'}, 300)
                }
                header.addClass( 'sticky' );
            } else {
                if ( header.hasClass( 'sticky' ) ) {
                    if ( distanceY <= shrinkOn ) {
                        logo.transition({height: logoheight + 'px', width: logowidth + 'px'}, 300)
                    }
                    header.removeClass( 'sticky' );
                }
            }
        }

    });
}

我发现,使用此脚本,如果 header 具有“粘性”类,它将图像高度更改为 55px。我可以在这个脚本中添加一些内容来同时更改实际图像网址吗?

我想将 Logo 图像更改为“粘性”,因为标题背景颜色发生变化,并且我想将现有的全彩 Logo 替换为纯白色 Logo 。

最佳答案

您可以在“logo”jQuery 对象上使用 jQuery 的 .attr() 函数:

logo.attr('src', '<new image url>');

关于javascript - 在滚动上交换我的 Logo 图像(修改现有脚本),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34725236/

相关文章:

javascript - 可以重置而不重叠的计时器? - JavaScript

javascript - 从导入的图标列表图像更改呈现的图标大小

javascript - 网站在 Chrome 中自发卡住 - 如何调试?

javascript - 如何删除特定按钮?

jquery - jqGrid 不显示单行

javascript - 保留旧变量值的函数

javascript - jQuery 快速查看效果 - 将事件绑定(bind)到一个元素

javascript - 嘶嘶声推应用

c# - 单击操作按钮,每次单击此按钮时显示一组字段

javascript - 跟踪 DOM 中的变化触发速度很慢