2012-01-31 21 views
3

基本的に、この関数は、それを呼び出す要素の高さの値を格納することを意味し、その高さが要素に一致すると高さを200pxに拡大し、格納された値と一致しない場合、 value(要素コンテナを縮小する) var heightVal = parseInt(boxStyle.height);を入手するには、外部スタイルシートからどのように読み込むのですか?ユニバーサルjavascriptのサイズ変更機能

function expand(e){ 
    var box = document.getElementById(e); 
    var boxStyle = box.style; 
    var heightVal = parseInt(boxStyle.height); 

    if(boxStyle.height == heightVal){ 
    boxStyle.height = heightVal + 200 +'px'; 
    } 
    else{ 
    boxStyle.height = heightVal; 
    } 

} 
+0

なぜ['offsetHeight'](https://developer.mozilla.org/ja/DOM:element.offsetHeight)が機能しないのですか? –

+0

私はちょうどそれを試みましたが、まだキンクが発生しているので、私はそのことについて取り返します。 問題は、関数を使用するたびにoffsetHeight値が変更され、要素の高さ常に成長する。 – person0

+2

ドキュメントには[styleSheets](https://developer.mozilla.org/en/DOM/document.styleSheets)コレクションがあり、各シートにはルールがあり、各ルールには関連付けられたテキストがあります。適切なルールを見つけて、解析する必要のある関連テキストを読み込んで、必要なプロパティとそれに関連する値を見つけ出すことができます。 – RobG

答えて

0

これは私の改訂答えは...このコードは、任意の要素の高さに関係なく、あなたはそれが最小化または最大化および/またはあなたがそれをしたいかどうかを開始するかどうかの再サイズに普遍的に使用するための機能が可能になります拡大または崩壊する。私は以前に書いた答えの改善としてこの機能を開発しました。これは、実際にはJavaScriptクラスとjQueryのどちらも使用せずにアニメーションを可能にするためにCSSクラスを変更するために取り組んでいる別の関数の結果です。私は今、両方の機能が働いており、普遍的です!

パラメータはかなりまっすぐです... boxは、サイズを変更したい要素を表します。hNewは、サイズを変更したい高さを表します(要素の現在の高さよりも大きくても小さくても機能します) )。

function resize_height(box, hNew){ 
    if(box.style.height != hNew || box.style.height == box.old_height){ 
    box.old_height = box.style.height 
    box.style.height = hNew; 
    } 
    else{ 
    box.style.height = box.old_height; 
    } 
} 
関連する問題