Jquery意外的“规模”行为

时间:2011-07-12 14:36:02

标签: javascript jquery web

我有以下内容:

许多具有显示的锚点:块; css属性,以及两个按钮附加的以下两个函数:

function ZoomIn() {
    $("#MainContent_inside_panel a").hide();
    $("#MainContent_inside_panel a").effect("scale", { percent: 200 }, 1000);
    $("#MainContent_inside_panel a").show();
}

function ZoomOut() {
    $("#MainContent_inside_panel a").hide();
    $("#MainContent_inside_panel a").effect("scale", { percent: -200 }, 1000);
    $("#MainContent_inside_panel a").show();

如果我只点击调用ZoomIn的按钮,它就能正常工作(好吧,它不会隐藏所有内容,但这并不是什么大不了的事)。如果我点击缩放,然后缩小或缩小,然后缩放,它会中断。 3/4的块将调整大小,但其他块会变得奇怪(并且不一致)。在firefox中,我看到了奇怪的小锚 - 用铬合金它们就消失了。

在“中断”之后,单击任一按钮都不会执行任何操作。

任何想法导致了什么?

编辑:HTML(只是其中一堆重复):

<a id="MainContent_1_0" class="unused"></a>
<a id="MainContent_400001393" class="used"></a>
<a id="MainContent_1_2" class="unused"></a>

CSS:

.inside_panel a 
{
display: block;
float: left;
width: 7px;
height: 7px;
margin: 2px;
padding: 2px;
border-style: solid;
border-width: 1px;
}

a.used 
{
background-color: red;
}

1 个答案:

答案 0 :(得分:1)

缩小对象时不应使用负值。

如果您希望在将对象缩放200%后将对象缩小到之前的大小 - 将其设置为50%。

$("#MainContent_inside_panel a").effect("scale", { percent: 50 }, 1000);

简单数学:如果对象的大小为100px,那么将其缩放200%将使其成为200px。要使对象再次100px,你应该把它减半,即50%。