滚动事件上的JS / jQuery交换图像

时间:2013-10-16 14:41:21

标签: javascript jquery html css

我有一个非常类似的网站菜单:http://jsfiddle.net/sinky/XYGRW/(在stackoverflow上找到)

我的问题是设计师希望导航中的徽标(主页按钮)切换到较小的图标。不只是缩小,而是实际改变图像。我可以使用我已经用于其他addClass命令的滚动事件来更改img src吗?

$(window).scroll(function () {
    if ($(document).scrollTop() == 0) {
        $('#header').removeClass('tiny');
        $('#menu-spacing').addClass('nav-margin-top');
    } else {
        $('#header').addClass('tiny');
        $('#menu-spacing').removeClass('nav-margin-top')
    }
}); 


HTML
<div id="header" class="header fixed">    
    <div class="contain-to-grid">
            <nav class="row top-bar">
                <ul class="title-area">
                    <li><img src="img/resolute_logo.png" width="195" height="103" alt=""/>    </li>
    <li class="toggle-topbar menu-icon"><a href="#"><span></span></a></li>
                </ul>
                <div id="menu-spacing" class="hide-for-medium-down nav-margin-top">

2 个答案:

答案 0 :(得分:5)

不确定

$(window).scroll(function () {
    if ($(document).scrollTop() == 0) {
        $('#header').removeClass('tiny');
        $('#menu-spacing').addClass('nav-margin-top');
        $('.title-area img').attr('src', 'img/resolute_logo.png');
    } else {
        $('#header').addClass('tiny');
        $('#menu-spacing').removeClass('nav-margin-top');
        $('.title-area img').attr('src', 'your-new-image.png');
    }
}); 

参考:http://api.jquery.com/attr/

答案 1 :(得分:0)

为什么不直接将图像添加到CSS?

.header.tiny {
    height:40px;
    background: url(...);
}

您已有的其余代码

jsfiddle