2011-11-12 3 views
0

後の動的なサイズ変更IMGすることはできません:は、私はdiv要素の中にコンテンツをロードするためにdynamicdriveからこのJavaScriptを使用JavaScript動的コンテンツのロード

var bustcachevar=1 //bust potential caching of external pages after initial request? (1=yes, 0=no) 
    var loadedobjects="" 
    var rootdomain="http://"+window.location.hostname 
    var bustcacheparameter="" 

    function ajaxpage(url, containerid){ 
     var page_request = false 
     if (window.XMLHttpRequest) // if Mozilla, Safari etc 
     page_request = new XMLHttpRequest(); 
     else if (window.ActiveXObject){ // if IE 
      try { 
       page_request = new ActiveXObject("Msxml2.XMLHTTP"); 
       } 
      catch (e){ 
       try{ 
        page_request = new ActiveXObject("Microsoft.XMLHTTP"); 
        } 
       catch (e){} 
      } 
     } 
     else 
     return false 
     page_request.onreadystatechange=function(){ 
      loadpage(page_request, containerid) 
     } 

     if (bustcachevar) //if bust caching of external page 
     bustcacheparameter=(url.indexOf("?")!=-1)? "&"+new Date().getTime() : "?"+new Date().getTime() 
     page_request.open('GET', url+bustcacheparameter, true) 
     page_request.setRequestHeader('charset', 'ISO-8859-1') 
     page_request.send(null) 
    } 

    function loadpage(page_request, containerid){ 
     if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1)) 
     document.getElementById(containerid).innerHTML=page_request.responseText 
    } 

私は「displayImage( 『URL』、」と呼ばれる自己書かれたPHPの関数を使用しますwidth ')」を使用してイメージを表示し、指定された幅に動的にサイズを変更します。

これは静的コンテンツには効果的ですが、この関数は動的コンテンツの処理を拒否します。

誰も私にこの方向の正しい方向へのプッシュを与えることができますか? :/私はjavascriptのではあまり良くないんだけど...

EDIT:

申し訳ありませんが、PHPの機能を追加するのを忘れ、ここにそれは行く:

function displayImage($img_path, $height) { 
$image_info = getimagesize($img_path); 
$new_dimension = imageResize($image_info[0], $image_info[1], $height); 
$returnstr = "<IMG SRC=\"{$img_path}\" " . $new_dimension . "/>\n"; 
return $returnstr; 
} 

function imageResize($width, $height, $target) { 
if ($width > $height) { 
$percentage = ($target/$width); 
} else { 
$percentage = ($target/$height); 
} 
$width = round($width * $percentage); 
$height = round($height * $percentage); 

return "width=\"$width\" height=\"$height\""; 

}

+0

コードでイメージのサイズ変更機能が表示されません。 –

+0

私は今すぐ追加します。ホールドしてください。 –

+0

これは追加されました、申し訳ありませんが、それは長かったが、何か私の注意が必要でした。 –

答えて

1

PHPですサーバーサイドの言語。ページを作成してブラウザに送信するという意味です。後でページに追加する画像のサイズを変更することはできません。あなたはそれを行うにJSをするか、またはajaxページ自体でそのPHP関数を使用して、既に縮小された画像を動的に読み込みます。お役に立てれば。

+0

私はあまりJSを知っていませんが、もし私が進んでいたら、このphp関数をajaxページ自体で使用しています...私はどのように進めることをお勧めしますか?私はすでにajaxを使って読み込まれたページにスクリプトを含めましたが、あまり効果はありませんでしたが、それが「ajaxページ自体でPHP関数を使用する」という意味なのかどうかわかりません。つまり、私は最初に画像を縮小する方法、PHPスクリプトを使用する方法、およびajax呼び出しを使用してページをロードする方法についてはわかりません。 (私が十分に努力すれば結局は成功するだろうが、ヒントは大歓迎です)。 –

+0

あきらめないでください。私が意図したことは、あなたがajaxで呼び出しているファイルに縮小スクリプトを含めることです。これにより、ajaxはあなたに良いイメージを送ります(それ以上の縮小は必要ありません)。 – Shomz

+0

ヘルプのThnx。私の問題はIMGのSRCタグにありました。動的にロードされているページに含まれているスクリプトを使用するには、 '../folder/imagename.png'の代わりに '../folder/imagename.png'を使用する必要がありました。^_^' –

関連する問題