2009-08-18 15 views
1

私はコーディングしているページにこの画像があります。これは、いくつかの変数に応じて、サイズを変更し、水平方向と垂直方向の中央に配置する必要があります。幅と高さの変数は動的なので、CSSシートを使用することはできません。したがって、javascriptにこの特定のイメージのスタイルに2つの余分な引数(上と左)を追加したいと思います。余分なCSSをjavascriptで追加する

私もそうのようなイメージにインラインスタイルを追加しようとしました

function getStyleSheet() { 
    for(var i=0; i<document.styleSheets.length; i++) { 
     var sheet = document.styleSheets[i]; 
     if(sheet.title == 'StyleSheet') { 
      return sheet;} 
    } 
} 
var rule_sheet = getStyleSheet(); 
function changeText() { 
    rule_sheet.insertRule(".className { top:" (-(.5*newHeight))+ "; left:" +(-(.5*newWidth))+ ";}"); 
    showRules(); 
} 

(私には非常に賢明に見えた)、これを試してみた:(画像のサイズが変更された機能で)

$(this).style.top= (-(.5*newHeight)); 
$(this).style.left= (-(.5*newWidth)); 

どちらの解決策も機能しませんでしたが、どちらの方法も妥当と思われました。私は何が欠けていますか?

編集:私はこれに接尾辞「PX」を追加していないことに気付きましたが、そうした後、それはまだ:(

EDIT IIは動作しません:NickFitzヒント後 を、私は最後の書き直しこれまでのコードのビット:

$(".className").each(function() { 
    $(this).css("top", (-(.5*newHeight)), 2); 
    $(this).css("left", (-(.5*newWidth)), 2); 
}); 

これは実際には見え方、私はそれを望んでいない方法を変更しますが、少なくともI'ma TADソリューションに近い

+0

をし、画像をセンタリングするためのコードも同様に間違っていました。 {左:50%;上:0.5 *高さ; margin-left:.5 * width;}は正しい方法です。しかし、それは気にしないでください。 – Kablam

答えて

2

このお試しください:

$(this).css('top', (-(.5*newHeight))+'px'); 
$(this).css('left', (-(.5*newWidth))+'px'); 
3

すると、使用している場合。 jQuery、あなたはCSS-related methodsを望む。$(this) jQueryオブジェクトを生成し、それのstyleプロパティを設定することは何もしません。

+0

はい、ありがとうございます。私はまだそれを試していなかった。まだ解決策はありませんが、私はこの最新の変更を反映するために最初の投稿を編集しました。 – Kablam

1

あなたは

$(this).css({top: topval + "px", left : leftval + "px", width : widthval + "px", height : heightval + "px"});

またはあなたが使用することができます(変数の末尾にval​​のを使用して)のようなものを試してみてください:

$(this).width(widthval);

+0

ええ、私はもう一度やり直すために戻ったときにpxを忘れてしまったことに気付きました。しかし、まだ役に立たなかった:( 私は別の方法で最初の投稿を編集しました – Kablam

+0

"className"のクラスを持つすべての項目を変更しようとしているコードの最初のブロックを見てください。$( "。className ")の代わりに$(this) – kennyisaheadbanger

1

あなただけ含むラップセットを得ることができます<img>を入力し、.css()コマンドを使用して適切な値を設定しますか?

$('#img').css({ 'width' : calculatedWidth + 'px', 'height' : calculatedHeight + 'px' }); 
+0

はい、これは私が必要なものです:) – Kablam

関連する問題