【问题标题】:Change Logo image size (width and height) on scroll在滚动时更改徽标图像大小(宽度和高度)
【发布时间】:2015-08-06 08:31:08
【问题描述】:

我尝试使用此处和 JSfiddle 上找到的其他解决方案,但没有成功。

我使用 Joomla!当我向下滚动时,我需要更改徽标大小(H 和 W 成比例)。

我已将徽标放入自定义 HTML 模块中,因为这是我的模板的工作方式。

这是包含徽标的代码:

<div id="s5_logo_wrap">
  <div onclick="window.document.location.href='http://www.mysitetestscroll.com/'" class="s5_logo_module" id="s5_logo_module">
    <div class="moduletable">
      <div class="custom">
        <img alt="Logo" src="/images/logo.png" id="s5_logo" class="s5_logo" onclick="window.document.location.href='http://www.mysitetestscroll.com'"></div>
    </div>
  </div>	

  <div id="s5_pos_custom_1">
    <div class="moduletable">
      <div class="custom">
        <span class="ion-ios-location address_details_icon"></span><a href="/index.php/our-location">Location</a></div>
    </div>
    <div style="clear:both; height:0px"></div>
  </div>
  <div style="clear:both; height:0px"></div>
</div>

所以,我想在向下滚动时减小徽标图像的大小。 我怎么能做到? 提前致谢。

【问题讨论】:

    标签: javascript jquery html css scroll


    【解决方案1】:

    你可以使用 jQuery + CSS:

    你的 jQuery 看起来像这样:

    /*----------------------------------------------------
     /*  Small Logo Upon Scroll
     /* ------------------------------------------------- */
    jQuery(document).ready(function($) {
        jQuery(window).scroll(function () {
            if (jQuery(this).scrollTop() > 40) {
                jQuery('.s5_logo').addClass('small-logo');
            } else {
                jQuery('.s5_logo').removeClass('small-logo');
            }
        });
    });
    

    CSS:

    .small-logo {
    width: mywidth;
    height: myheight;
    }
    

    对于第二个问题,将小徽标和大徽标放在一个 .png 文件中,确保宽度覆盖它们。然后执行以下操作:

    .s5_logo {
    background-position: 0 0;
    background-repeat: no-repeat;
    -webkit-transition: background-position .4s ease-in;
    -moz-transition: background-position .4s ease-in;
    -o-transition: background-position .4s ease-in;
    transition: background-position .4s ease-in;
    }
    
    .s5_logo_path {
    background-image: url(/path/go/to/combinedlogo.png);
    }
    
    .s5_logo_path .small-logo {
    background-position: 0px -122px; //here play with the position.
    }
    

    HTML:

    <img alt="Logo" src="/images/logo.png" class="s5_logo s5_logo_path"></div>
    

    【讨论】:

    • 非常感谢 Valery 提供的简单高效的解决方案!关于在图像调整大小时如何实现过渡比例的任何建议?
    • 查看我编辑的答案,这应该会给你效果
    • 再次感谢!
    猜你喜欢
    • 2021-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-27
    • 1970-01-01
    • 2017-12-08
    • 1970-01-01
    相关资源
    最近更新 更多