2012-01-26 14 views
0

私は6つのイメージを連続しています。最初のものはスケーリングとシャドウを使い、他のイメージの上にホールドすると、それらはスケールアップされ、シャドウ(クラスを通して)が適用されます。最も重要なことは、別の画像が上に乗っていれば、元画像を元に戻して影を消したいということです。jQueryのハイライトとホバー機能

私はこれまでこれを持っていますが、おそらく書かれたcompletleyが間違っています!代わりに、私はクラスを使用することをお勧めcss方法を使用して操作するスタイルの

<script type="text/javascript"> 
(document).ready(function() { 
    $("#gallerySlideshow li img:first").css('-moz-transform', 'scale(1.1)').addClass('test'); 
    $("#gallerySlideshow li img").hover(function(){ 
     $(this).css('-moz-transform', 'scale(1.1)').addClass('test'); 
    }, 
function() { 
     $("#gallerySlideshow li img:first").css('-moz-transform', 'scale(0.9)').removeClass('test'); 
}, 
    function() { 
     $(this).css('-moz-transform', 'scale(0.9)').removeClass('test'); 
    }); 
}); 
</script> 
+1

あなたのホバー機能には3つの引数があります。正しいコードを貼り付けるのは忘れていますか? – sathishkumar

+0

@ sathishkumarが正しいです。ホバーには2つの機能しかありません。ドキュメントをチェックしてください。 http://api.jquery.com/hover/ – Filip

+0

クラスとCSSを適用しているようです。準備が整ったクラスにすべてのcssを含めてから、本当に必要な場合は複数のクラスを追加するようにしてください。 – JackalopeZero

答えて

0

。また、他の人が触れたように、最大​​2つの関数しか必要としないhoverメソッドへの3つのコールバック関数があります。あなたの問題を修正したこのコードを試してください。クラスを使って拡大縮小し、影を表示してください。

のCss

img{ 
    //default style, add whatever style you want here 
    -moz-transform: scale(1.1); 
} 
.scaleAndShadow{ 
    -moz-transform: scale(1.1);//Apply on hover 
} 

JS

$(document).ready(function() { 
    $("#gallerySlideshow li img").hover(function(){ 
     $(this).addClass('scaleAndShadow') 
     .siblings().removeClass('scaleAndShadow'); 
    }, 
    function() { 
     $(this).removeClass('scaleAndShadow'); 
    }) 
    .first().addClass('scaleAndShadow');//Set the class to first img on load 
}); 

注:あなたが唯一のFirefoxに動作します-moz-transformを使用しているスタイルは、あなたが他のブラウザをサポートするために、他の同等のスタイルを使用する必要があります。

+0

こんにちはShankar、助けてくれてありがとう、私はあなたのコードを送信して何をして、感謝を理解し始めている。それは私がまだ必要なことをしていないし、それを操作する方法を見ることができません。 Essentialy私は6つの画像を持っています。ページが最初に開いたときにクラスが適用されている場合、ユーザーが他の5つのいずれかにカーソルを置くと、クラスが適用され、最初のクラスが削除され、リストのどの画像にも上書きしないでください。最初の画像にはクラスが再度適用されます。 – Geoff

関連する問題