2011-01-23 12 views
0

imはjqueryで作業しています。私はdiv要素にイメージを追加しました。それは素晴らしい作品です。js関数でCSSプロパティ(max-heigthやwidthなど)を変更したい。イメージを追加した後にjqueryがCSSプロパティを変更しました。

が、何も動作...

は、誰もがアイデアを持っていない...私は(.. HTMLで厳しい前に追加withouth、)ページ上の画像の修正でそれを試してみましたが、それは動作します?

私の関数は次のようになります。

function makeBigger() { 

var origHeight = $("#articlePicture").css("max-height"); 
var newHeight = parseInt(origHeight.replace("px", "")); 

newHeight+=25; 
newHeight+="px"; 

$("#articlePicture").css("max-height", newHeight); 
} 

感謝を!

編集:重要なこと:アペンド画像、火薬爆弾などではうまくいきませんでした。

EDIT2:追加機能(これの簡単バージョンの一種。):

function appendThis(artikelNumber, pictureToAppend) { 
     img="<img src='"+pictureToAppend+"' alt='articlePicture' id='articlePicture' class='articlePicture' />"; 
     $('.article'+artikelNumber+'Text').append(img); 
    } 
+1

あなただけの静的に設定されている場合、それは動作します:また、ここではあなたのmakeBigger機能の最適化バージョンがある

function appendThis(n, url) { var img = '<img src="' + url + '" class="articlePicture" alt="Picture">'; $('.article' + n + 'Text').append(img); } 

値、例えば$( "#articlePicture")。css( "max-height"、 "100px"); – duncan

+0

いいえ、$( "#articlePicture")のようなものでも動作しません。css( "display"、 "none"); 私は何とかその追加の問題を考えています... – eav

+0

divの高さと幅を見ましたか?それは、あなたのサイズを超えて成長することからあなたを守っているのでしょうか? – awright18

答えて

1

appendThis関数には、機能しない理由が2つあります。

  1. この機能を実行して(新しい画像を追加するたびに)、その画像に同じIDを割り当てます。それは良くありません、IDはページ上で一意でなければなりません。同じIDを持つ複数の要素がある場合、jQueryはそれらを選択できません。代わりにclass属性を使用する必要があります。こうすることで、次のような画像を選択することができます:$('img.articlePicture')

  2. 変数imgを宣言していないため、暗黙のグローバルになります。予期しない名前衝突につながる可能性があるので、これは避けるべきです。

私は下の両方の問題を修正:

function makeBigger() { 
    $("img.articlePicture").css('max-height', function(i,v) { 
     return parseInt(v, 10) + 25 + 'px'; 
    }); 
} 
+0

こんにちは、私はそれを試してみましょう。最初の問題は分かっていますが、このページでは1つ以上の画像を追加することはできません。したがって、これまでのidの問題はありません! 私はあなたの第2の理由を理解していない。しかし、私は試してみるか?ありがとう – eav

+0

編集: あなたの2番目の理由:私はそれをしたと思うが、私は関数全体をクリアしなければならなかったので、変数imgの宣言を忘れてしまった。しかし、それは私の機能の中です。私は確信しています! – eav

+0

@emreライブデモで作業できたら、私はあなたの問題を解決することができました。それは可能でしょうか? –

0

あなたはそれだけで高さを変更したり、最小高さを設定大きめになりたい場合。最大高さがそれを大きくすることはありません、それはそれがその高さを超えて成長することを許可しません。

+0

私は最小/最大の高さなどが何を意味するのかを知っています...画像は確かに大きいです...とにかくそれを追加せずに..、なぜそれが付くとうまくいかないでしょうか?それは主な問題です! – eav

関連する問題