2011-10-28 7 views
0

emmawatson.comまたはted.comを見ると、ホバー上でサイズ変更される複数のパネルまたはdivがあることがわかります。jQueryを使用して要素と兄弟要素のサイズを動的に変更するにはどうすればよいですか?

emmawatson.comでは、実際には他のdivが上書きされているdivに基づいて動的にサイズ変更されます。

私は、特定の境界内のdivにclickを使用して同様の効果を作りたいと思います。

どうすればいいですか?次のように

擬似コードは次のとおりです。

$(div*containing"input").function() 
div*containing"input".resize(when input element is active) 
otherDivs.move(get out of the way so this div can expand) 
$(xButton).click(bring things back to their original size) 

は私の擬似コードの楽しみをしないでください。私はこれに新しいブランドが好きです。 :P

http://jsfiddle.net/JVtyv/9/

+1

ted.comでは表示されず、emmawatson.comはフラッシュです...別の例がありますか? –

+0

基本的には、アイソトープのようなフロートオプティマイザが必要です。または絶対配置されたdivを使用すると、バグなく実行されます。より簡単なアプローチは、http://papermashup.com/demos/jquery-feature/ –

+0

のようなものです。@TimJoyce jQueryソリューションを使用してそのフラッシュ効果が欲しいです。そして、私は、divが拡大し、他のものが同じ次元を維持するが、不透明度が低い、TEDのような効果を行うことで問題ない。私はそれをonClick関数にしようとしています。入力要素の1つをクリックすると、それを含むdivがサイズ変更されます。 – Marlon

答えて

1

あなたは間違いなくjQueryの同位体http://isotope.metafizzy.co/demos/relayout.htmlをご覧ください。このプラグインは、選択範囲内の要素のサイズを変更したり、他の多くの要素レイアウトソリューションをエレガントにシンプルにしたりすると、要素レイアウトを再計算します。

これは、必要な操作を正確に行う必要があります。

+0

はいはいはい!それはまさに私が探しているものです!今は、実際にどのように使用してそれを自分のデザインに適用するかを理解するだけです。どうもありがとうございます!チャンスがあれば、自分のデザインに実際に組み込む方法についていくつか指導してください。もう一度、ありがとう! – Marlon

0

これを行うには、jQueryでhover()メソッドを使用できます。

ホバー方式は以下のように動作します。ホバー(上、下); "上"と "下"のために実行したい機能を挿入し、設定します。

あなたはemmawatson.com上のようなdivの内側に画像のサイズを変更したいのであれば、あなたがホバーとCSS methosを使用して、次のような何かをするだろう:

$(function(){ 
$("div").hover(function(){ 
    $("div img").css({"height":"150%" , "width":"auto"}); //auto scales the width according to the image height 
    }, 
    function(){ 
     $("div img").css({"height":"auto" , "width":"auto"}); //auto resizes image back to default dimensions 
     }); 
}); 

ジャストクリップするoverflow:hidden;のようないくつかのCSSを使用しますdivの中のイメージとあなたは行くのが良いです。

また、jQuery documentationでお読みください。それは不思議です!

+0

私の答えは、emmawatson.comの非フラッシュページで行われていることと似ています。そのウェブサイトのホームページはフラッシュを使用しています。 – Ian

+0

私はホバー効果といくつかの基本的なCSSを使用して単一の要素のサイズを変更することができますが、問題は、divAの関数を作成して特定の幅onClickにリサイズし、divB、divC、 divD、divE、divEです。 divB onClickのサイズを変更し、divAなどのサイズを変更する別の関数を書きます。これは、別々のdivごとに長い関数を書くのは現実的ではありません。私が誤解していない限り、フィドルへのリンクをチェックすると、この方法の非実用性がわかります。ありがとうございました! :) – Marlon

関連する問題