如何在 Jquery 中更改图像的位置?

Posted

技术标签:

【中文标题】如何在 Jquery 中更改图像的位置?【英文标题】:How can i change the position of an image in Jquery? 【发布时间】:2013-08-26 21:36:10 【问题描述】:

我有这样的图像:

我想在悬停时更改 jquery 中的位置,使其看起来图像正在更改。

我不想使用 .animate 函数来移动图像,但是,基本上让图像滚动到每一帧。

现在我设置了宽度,并将溢出设置为隐藏,因此您一次只能看到一个图像。

我的 html

 <ul class="icons">
                    <li id="trasklogo"><img src="img/icons/nav-se1aec3ccea.png"   /></li>
                    <li><img src="img/icons/sprite_about.png"   /></li>
                    <li><img src="img/icons/sprite_genetics.png"   /></li>
                    <li><img src="img/icons/sprite_innovation.png"   /></li>
                    <li><img src="img/icons/sprite_media.png"   /></li>
                </ul>

我的 CSS

ul li, 
list-style: none;


li 
display: list-item;
text-align: -webkit-match-parent;

.menu .icons #trasklogo 
height: 87px;
overflow: hidden;

.container .menu .icons 
width: 75px;
overflow: hidden;

【问题讨论】:

请贴出你目前尝试过的代码。 Spritely 可能是你想要的。 【参考方案1】:

目前还不完全清楚您要完成什么。

如果您想将此精灵制作成动画,请查看Spritely。此 javascript 将自动移动精灵以模拟关键帧动画。您只需提供一个宽度以及精灵应该移动的速度,然后它会完成剩下的工作。

如果您尝试在图像上缓慢平移并停止,您最好的选择是在背景 x 位置上使用动画。根据您提供的精灵以及您要求不使用动画的事实,我怀疑这是您的意图。

您还可以使用 @keyframes 使用 CSS 模拟此动画。看到这个小提琴:http://jsfiddle.net/ZLyrN/

注意:没有polyfill,CSS 动画不能跨浏览器兼容。

【讨论】:

我猜我对 animate 函数的使用是错误的。抱歉,英语不是我的母语,但你所描述的听起来像是我打算做的。当用户将鼠标悬停在列表项上时,我想平移图像并停在关键帧上以模拟动画。【参考方案2】:

您可以使用 JQuery 在 Javascript 中轻松创建该效果。

setInterval(function() 
    // parse the current margin to an integer and substract the with of one frame
    var nr=parseInt($("#sw").css("margin-left")) - 70; 
    // reset margin to 0 if margin > last frame
    if(nr<=-1050) 
        nr=0;
    
    // set the new margin
    $("#sw").css("margin-left", nr+"px");
, 50);

CSS:

#wr 
    width:70px;
    overflow:hidden;

HTML:

<div id="wr">
    <img id="sw" src="http://i.stack.imgur.com/hCX5s.png" />
</div>

工作示例:http://jsfiddle.net/U2MrB/

【讨论】:

以上是关于如何在 Jquery 中更改图像的位置?的主要内容,如果未能解决你的问题,请参考以下文章

如何在html对象元素中更改svg位置的背景颜色[重复]

如何在 django 中使用 jquery 更改多个图像 src

如何在 Rails 中从 JQuery 更改 CSS(背景图像)?

如何使用 jQuery 在点击时更改图像源?

Jquery Mobile UI:如何在listview中更改图像大小

如何根据ios中的方向更改图像位置?