2012-03-14 6 views
0

サムネイルの配列にJavaScript機能を追加して、カレントウィンドウで開くのではなくクリックすると画像が拡大されるようにしたいとします。私はonclick属性内の機能を有していると考えていますが、私はこの仕事を考えていない:アンカー要素の正常なアップグレード

<script type='text/javascript'> 
function expand(){ 
    this.height = 200; 
    this.width = 200; 
} 
</script> 

<a href='/image_1.jpg' onclick='expand()'> 
<img src='/image_1.jpg'> 
</a> 

はJavaScriptが有効でない場合、私は仕事へのリンクをしたいと思います。どのようにこれを行うことについて行く考えですか?おかげであなたの時間:)

答えて

2

あなたが関数内で変数としてthisを与える必要があり、たとえばths

<script type='text/javascript'> 
function expand(ths){ 
    $(ths).find('img').height('200'); 
    $(ths).find('img').width('200'); 
    return false; 
} 
</script> 

<a href='/image_1.jpg' onclick='expand(this)'> 
<img src='/image_1.jpg'> 
</a> 

そしてreturn false Prusse氏は述べています。

** UPDATED ** あなたは画像のサイズを変更する場合は、画像やリンクなしを呼び出す必要があります。代わりに

+0

それでも応答がありません。これが画像ではなくリンクを参照しているからでしょうか? –

+0

はい、jQueryの使用を検討しましたか?これはずっと楽になりますか? –

+0

@SamGiles、Javascriptで簡単にやり遂げることができたら、私はそれを避けようとしています。 –

0

だけonclickハンドラの戻りfalseを作ります。あなたの例のように、インラインハンドラの使用:

<a href='/image_1.jpg' onclick='expand(); return false;'> 
+0

クリックからの応答がありません。.. –

関連する問題