2011-07-12 115 views
0

我有以下內容:Jquery出乎意料的「規模」行爲

許多具有display:block; 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; 
} 
+0

您是否檢查了Javascript控制檯的錯誤? –

+0

@喬治是啊,沒有錯誤或警告。我很困惑。 – uscere90

+0

你可以發佈相關標記嗎? –

回答

1

收縮對象時,不應使用負值。

如果您希望在縮放200%之後將對象縮小到先前的大小 - 將其設置爲50%。

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

簡單的數學:如果對象的大小爲100px,那麼將其縮放200%將使其爲200px。要再次製作100px的對象,應該將它切成兩半,即50%。

+0

...哇。看來我所遵循的例子是不正確的。我從來沒有想過要這樣做,因爲我對jquery很陌生,只是假設作者是他們正在談論的新東西。呵呵。謝謝。 – uscere90