jQuery Animate问题

时间:2011-08-18 01:12:58

标签: jquery

我有一个非常基本的功能,我使用jQuery将一些内容(从左到右)或从后(从右到左)滑动。下面的代码可行,但是,我现在要做的是在“overDiv”的末尾添加“+”,并使其始终显示。

要绘制更清晰的图片,现在如果您将该代码粘贴到编辑器中并包含google的jQuery,您会看到单击“+”会完全消除“overDiv”块。但是,我想要做的是将“+”放在“overDiv”块的末尾,这样当文本“消失”离开页面时,+将始终保留。希望这有道理吗?

提前致谢。

<body>

<script language="javascript" type="text/javascript">
$(function() {
    // when we click on the a-href id 'togglen', we move the overDiv to the left.
$('#togglen').click(function() {
    // simple animation                          
    $('#overDiv').animate({
      left: parseInt($('#overDiv').css('left'),10) == 0 ? -$('#overDiv').outerWidth() : 0
    });
  }); // 
});


</script>
<div><a href="#" id="togglen">+</a></div>
<div style="background-color:#CCC; width:180px;  position:absolute; left:0; overflow:hidden; float:left;" id="overDiv">Lorem ipsum.</div>

4 个答案:

答案 0 :(得分:1)

position div relative floatleft div + div设置为+。这样,{{1}} {{1}}

中的任何值都没有硬编码

正在使用 demo

答案 1 :(得分:0)

只需在您的+。

中添加style="position:absolute; left:190px"之类的内容即可

如果你想让“粘”到“overDiv”你可以添加

$('#togglen').animate({
        left: parseInt($('#overDiv').css('left'),10) == 0 ? 0 : $('#overDiv').outerWidth()
    });

在另一个动画之前。

http://jsfiddle.net/PQxkc/

答案 2 :(得分:0)

见这里:http://jsfiddle.net/yVReu/

您还需要定位“+”元素。

答案 3 :(得分:0)

http://jsfiddle.net/KmmbK/我将您的代码粘贴到jsfiddle中。看起来'+'始终保持不变。你想在消失的div里面加上'+'吗?如果是这样,只需从div动画离开屏幕的距离中减去'+'的宽度。