2012-04-20 9 views
1

私はいくつかのJavaScriptアクションをInternet Explorerで動作させようとしていますが、これまで動作していません。IEのJavaScriptの問題

スクリプトは、id属性を使用して、関連するページを読み込みます。たとえば、id="4"は、getinfo.php?vid=4の値を参照するために使用され、このページの値を使用してサイト上の何かを変更します。

function btcd() { 
var id; 
$('.btcd').each(function(i) { 
    id = $(this).attr('id'); 
    id = id.replace('v',''); 
    $(this).load('js/timeleft.php?vid='+id); 
}); 
$('.btp').each(function(i) { 
    id = $(this).attr('id'); 
    id = id.replace('z',''); 
    $(this).load('js/price.php?vid='+id); 
}); 
$('.button_bied_nu').each(function(i) { 
    id = $(this).attr('id'); 
    id = id.replace('b',''); 
    $.get('js/you.php?vid='+id, function(data){ 
     var res = data.split(' '); 
     if(res[1] == '1') { 
      $('#b'+res[0]).css('background-image','url(images/button_bied_nu_you.png)'); 
     }else{ 
      $('#b'+res[0]).css('background-image','url(images/button_bied_nu.png)'); 
     } 
    }); 

}); 

var d = new Date(); 
var n = d.getMilliseconds(); 
setTimeout("btcd()",(900-n)); 
} 

HTML部分:

<div class="veilingen"> 
    <div class="box"> 
     <div class="box_top"> 
      <h3><span class="btcd" id="v1" style="float:right;margin-right:10px">202:50:09</span>Testveiling</h3> 
     </div> 
    <div class="box_bg"> 
     <div class="box_image"> 
      <img src="images/veilingen/test.png" alt="Afbeelding" /> 
      <br /> 
      <div class="veiling_lint"> 
       <b>&euro;<span class="btp" id="z1">36</span></b> 
       <span style="font-size:8pt;">(Elk bod verhoogt de prijs met &euro;1)</span> 
      </div> 
     </div> 
     <a href="#" onclick="bied(1);" class="button_bied_nu" id="b1">BIED NU!</a><br /> 
     Klik <a href="?vid=1">hier</a> voor meer informatie over deze veiling. 
    </div> 
    <div class="box_bottom"></div> 
</div> 

ページ自体:http://project.browsertech.nl/001/index.php

+0

あなたはおそらくHTMLの一部を投稿できますマークアップ?最初に、すべての要素に「固有のID」があることを確認することをお勧めします。これは推奨される方法であり、jQueryとIEでこれが問題を引き起こした経験があります。 – Richard

+0

マークアップも表示するので、人々は 'id'値を見ることができます。コードに明らかなエラーは見られません。同様に、 'setTimeout( 'btcd();'ではなく、(900-n)は、' $(this) '.attr( 'id')' ) 'この場合、' setTimeout(btcd、(900-n)) 'を使うことができます。たとえば、文字列ではなく関数リファレンスを' setTimeout'に渡すことができます。 –

+2

) –

答えて

1

私はこれが動作しますがキャッシュされて数えます。 は異なるAJAX呼び出しを使用するか、またはあなたは、このパンチコードドロップできます。ロード・キャッシュ(ならびに任意のjQueryのAJAX呼び出しキャッシュを)停止します

$.ajaxSetup ({ 
    cache: false 
}); 

+0

ありがとう、それは今働いています。 – Seph

+0

+1いいキャッチ! .. –

+0

Ty、私はクリックしたときに別の理論を書いている途中でした! @シェフ、うれしい! :) – lnrbob