このコードはIEでは機能しませんが、chromeとfirefoxでは機能します。
このエラーメッセージが表示されますIEコンソール:SCRIPT5007:プロパティ 'href'の値を設定できません:オブジェクトがnullまたは未定義です
<script>
$(document).on("ready", alternar_banner);
array_imagen = new Array(2);
array_imagen[0] = new Image(108,225);
array_imagen[0].src = "banner1.gif";
array_imagen[1] = new Image(108,225);
array_imagen[1].src = "banner2.gif";
array_url = new Array(2);
array_url[0] = 'http://www.google.com';
array_url[1] = 'https://www.yahoo.com';
contador = 0;
function alternar_banner(){
window.document["banner"].src = array_imagen[contador].src;
window.document.links["bannerref"].href = array_url[contador];
contador ++;
contador = contador % array_imagen.length;
setTimeout("alternar_banner()",6000);
}
</script>
<a name="bannerref" href="#"><img src="#" name="banner" width=108 height=225 border=0></a>
document.linksは、href属性を持つアンカーのコレクションを返します。アンカーにhref
関連付けられた属性がない場合、コレクションの一部として返されません。
リンクプロパティは、href属性の値を持つドキュメント内のすべてのAREA要素とアンカー要素のコレクションを返します。
したがって、いくつかの可能性があります。
bannerref
。href
属性はありません。更新マークアップの質問を更新した後
ように思えるdocument.links
IEでインデックスすなわちEXを使用して参照する必要がありますwindow.document.links[0].href
が、その前に現れるより多くのアンカーがあるculdので、あなたはそれに頼ることはできません。代わりに、それが名前を持つアンカーの唯一のインスタンスである場合は、以下を使用してみてください。
document.getElementsByName("bannerref")[0].href = array_url[contador];
または、そのアンカーのIDを次のように指定しbannerref
ます。
document.getElementById("bannerref").href = array_url[contador];
または、jqueryを使用して要素をフェッチし、それに属性を設定することもできます。
そして、関数参照を与える練習をよりよく使用します setTimeout
すなわち。
setTimeout(alternar_banner,6000);
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加