2016-10-27 2 views
0

ランダムhtmlリンクセレクターリンクグループから。ランダムhtmlリンクセレクターリンクグループ

私はこのイメージを自分のサイトに持っています。クリックすると、htmlページに移動します。それは良いです、唯一のことは、ランダムに1つのHTMLリンクだけでなく、5つのリンクを言うことができます。

<a href="url" target="_blank"><img id="img-hover" src="image"/></a> 

私は上記のコードの機能がまだ必要です。私のコードにコードを組み込んでください。英語のために申し訳ありません。また、このコードはいくつかのJavaのオフになりますが、私はあなたがそれを必要とは思わない。しかしここにある。

<script type="text/javascript"> 

var timer; 

document.getElementById('img-hover').addEventListener('mouseover', function() { 
clearTimeout(timer); 
var elem = this; 
timer = setTimeout(function() { 
    elem.src='image'; 
}, 9000); 
}); 

document.getElementById('img-hover').addEventListener('mouseout', function() { 
clearTimeout(timer); 
var elem = this; 
timer = setTimeout(function() { 
    elem.src='image?v=513d43d2'; 
}, 9999999999999999); 
}); 
</script> 
+0

これはJavaScriptを使用して実行する必要があります。 URLの配列を作成し、画像のクリックで '0'と' array.length - 1'の間の乱数を生成し、配列からそのインデックスを取り出し、それにリダイレクトします。 – Santi

+0

イメージソースの配列がありますか、サーバーからファイル名を取得するアルゴリズムが必要ですか?一般的には、利用可能な画像の最大量と、スクリプトが画像ソースをその番号に割り当てる方法を持つ乱数関数が必要です。 – Falk

+0

まさに** Santi **が言ったこと。 2回目のタイムアウトが「9999999999999999」に設定されているのはなぜですか?ブラウザは9999999999999999からカウントダウンされますか?訪問者がそのページに長く滞在することを期待していますか? – NewToJS

答えて

0

のランダムな要素にHREFを変更することができますが、このような何かを試してみてください、もちろん、URLの自分自身とを交換してください。

<a href="#" onclick="randomUrl();" target="_blank"><img id="img-hover" src="image"/></a> 
var urlArray = [ 
    "http://www.google.com", 
    "http://www.yahoo.com", 
    "http://www.stackoverflow.com" 
]; 

function randomUrl() { 
    var randomNumber = Math.floor(Math.random() * urlArray.length); 
    var newUrl = urlArray[randomNumber]; 
    window.location.href = newUrl; 
} 

JSFiddle

+0

それはドメインから1つだけを選ぶということで、それぞれのリンクを入力するのではなく、可能でしょうか?私のウェブサイトはかなり大きいですし、私は本当にそれらのすべてを貼りたいとは思わないし、私はさらにページを追加するときにスクリプトを編集する必要があります。 –

+0

URLをランダムに選択するよりもはるかに大きな作業です。私はJavaScriptがフォルダの内容を読むことができないと信じていないので、パターンループを作成できる明確なシーケンスページ(page1、page2、page3、page4)がない限り、ディレクトリ内のすべてのURLを解決します。 – Santi

0

あなたは、URLの場所

var locations = [url1, url2, url3, url4, url5];

で配列を作ることができ、あなたは、これは、0と5

の間の乱数を生成します

var url = Math.floor(Math.random() * 5);

を言うことができます

今、あなたのタグを見つけて、配列

document.getElementById('img-hover').href = locations[url]

+0

だから、このように見えますか?

+0

必ずしも私があなたに与えたコードはすべてスクリプトタグに入れられます。 '' document.getElementById( 'img-hover') ''を検索するので、そのタグを選択し、hrefを "locations"の5つのURLのうちの1つに設定します。しかし、あなたはまだ自分自身でURLデータを入れなければなりません。それは '' var locations = [url1、url2、...] ''ではなく '' var locations = ["www.google.com" 、 "www.stackoverflow.com"、...] '' – Kevin

関連する問題