我正在创建一个关于跑步伤害和预防的交互式移动信息页面。以下是它的设计工作方式:
8 个图标在页面上对齐。当用户单击一个图标时,所有其他图标都将消失,而被单击的图标将动画到屏幕顶部。
从这里,将出现一些与该图标相关联的信息文本(该文本未显示在 jsfiddle 中。它与我的问题无关)。
后退按钮也将与文本一起出现。如果用户单击后退按钮,文本将消失,图标将动画回到其原始位置。
移动图标本身是使用 jQuery 创建的clone
。动画和样式应用于克隆,当它返回到原始位置时它会被隐藏。
在运行制作此动画的 jQuery 时,我存储了一个值,该值pos
保持被单击图标的原始位置。这样当用户单击“返回”时,它将返回到正确的位置。pos
是一个存储left
andtop
值的对象,因此可以通过pos.top
and访问pos.left
。这是其中的一个片段。这存储了我原来的位置:
$gridImg.click(function() {
...
$clone = $(this).clone();
var pos = $(this).position();
$clone.css({
position: 'absolute',
left: pos.left,
top: pos.top
});
这是每个图标的 HTML 片段(图像已被替换为令人毛骨悚然的笑脸:
<div class="rice-injury-grid">
<!-- first icon -->
<div data-title="rest" class="grid-img">
<img id="rest-img" alt="Rest" src="http://icons.iconseeker.com/png/64/sketchcons-x/smiley-3.png"/>
</div>
<!-- second -->
<div data-title="blister" class="grid-img">
<img id="blister-img" alt="Blisters" src="http://icons.iconseeker.com/png/64/sketchcons-x/smiley-3.png"/>
</div>
<!-- third -->
<div data-title="ice" class="grid-img">
<img id="ice-img" alt="Ice" src="http://icons.iconseeker.com/png/64/sketchcons-x/smiley-3.png"/>
</div>
<!-- and so on... -->
我的问题是:在使用这个应用程序的整个过程中,每次用户选择一个图标时,它pos
都会无限期地存储值,所以现在每次我点击“后退”按钮时,图标都会返回到之前选择的每个位置。
我正在寻找一种方法来清除pos
每次图标回到其原始位置时的值。
有关演示,请参阅jsfiddle。浏览至少 2 个单独的图标序列以查看完整效果。