0

所以我的脚本完美运行,但问题是,我有 40px 高度的按钮(此处为 Sprite 动作),但前 20 个仅显示完美。当您单击按钮时,即 img 底部 20px 显示完美!但是...问题,我在我的脚本中包含了一种将所有其他人恢复为默认值的方法(应该只选择一个),我该如何解决这个我似乎无法纠正的问题,因为我可以选择其中的多个**用户可以切换 ** 脚本的最后一部分就是问题。谢谢

$(document).ready(function() {
    $('.form_sub').hide();
    $('.theader').addClass('active');

    $('.theader_t').click(function() {
        $('.form_header').show();
        $('.form_sub').hide();
        $('.theader').addClass('active');
        $('.sub_theader').removeClass('active');
    });
    $('.sub_theader_t').click(function() {
        $('.form_header').hide();
        $('.form_sub').show();
        $('.theader').removeClass('active');
        $('.sub_theader').addClass('active');
    });

    $('.top_head_img').click(function() {
        $(this).css({
            position: 'relative',
            bottom: '20px'
        }).siblings().css(
            'bottom', '0'
        );
    });
});

<ul class="top_head">
    <li>
    <a href="javascript:void(0)" onClick="selectPic5('top');"><img src="custom/images/top2.jpg" alt="Left" border="0" class="top_head_img"/></a>
    </li>
    <li>
    <a href="javascript:void(0)" onClick="selectPic5('center');"><img src="custom/images/mid2.jpg" alt="Center" border="0" class="top_head_img"/></a>
    </li>
    <li>
    <a href="javascript:void(0)" onClick="selectPic5('bottom');"><img src="custom/images/bot2.jpg" alt="Right" border="0" class="top_head_img"/></a>
    </li>
</ul>
4

1 回答 1

1

没有太多事情要做,这就是我的建议:使用 CSS 来制作你的图像精灵。

除了实际的图像标签,您可以在一些block链接标签上使用背景图像(随时在这些标签上重新添加您需要的任何 onClicks a):

<ul class="top_head">
   <li>
     <a href="#"></a>
   </li>
   <li>
     <a href="#"></a>
   </li>
   <li>
     <a href="#"></a>
  </li>
</ul>​

CSS中的精灵东西:

.top_head li a {
    height: 20px; 
    width: 20px;
    display: block;
    background: url(http://lorempixel.com/20/40/abstract) 0 0 no-repeat;
    overflow: hidden; 
    margin: 5px;
}
.top_head li a.selected {
    background: url(http://lorempixel.com/20/40/abstract) 0 -20px no-repeat;
}

​</p>

而你的点击功能我们可以这么简单:

$('.top_head li a').click(function() {
    $('.top_head li a').removeClass('selected');
    $(this).toggleClass('selected');
});
于 2012-09-14T21:06:17.100 回答