2011-07-12 7 views
0

私は以下を持っています:Jqueryの予期しない "スケール"の振る舞い

display:block; CSSプロパティ、と2つのボタンに添付次の2つの関数:

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がサイズ変更されますが、他のブロックは奇妙な(そして一貫性のない小さな)ブロックになります。ファイアフォックスでは、ちょっと消えたクロムの奇妙な小さなアンカーが見えます。

「ブレーク」後、いずれのボタンもクリックしても何も起こりません。

何が原因なのですか?

編集: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

@Georgeええ、エラーも警告もありません。私は困惑している。 – uscere90

+0

関連するマークアップを投稿できますか? –

答えて

1

オブジェクトを縮小するときには、負の値を使用しないでください。

オブジェクトを200%スケールした後に元のサイズに縮小する場合は、オブジェクトを50%に設定します。

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

単純な計算:オブジェクトのサイズが100pxの場合、200%のサイズにすると200pxになります。オブジェクトを再び100ピクセルにするには、半分にカットする必要があります。これは50%です。

+0

...うわー。私が従った例は間違っているようです。私がjqueryを初めて知ったので、これを試してみることは決して私には起こりませんでした。ハァッ。ありがとう。 – uscere90

関連する問題