0

こんにちは、ランダム引用スクリプトの使用方法を理解しようとしています。各引用は、別のページに移動するハイパーリンクです。これまでのところ、これは私が引用に使用している例です。各引用を独自のハイパーリンクにする方法はありますか?

<script language="JavaScript">

var Quotation=new Array() // do not change this!


Quotation[0] = "Test.";
Quotation[1] = "Sanity is a golden apple with no shoelaces.";
Quotation[2] = "Repent! The end is coming, $9.95 at Amazon.";
Quotation[3] = "Honesty blurts where deception sneezes.";
Quotation[4] = "Pastry satisfies where art is unavailable.";
Quotation[5] = "Delete not, lest you, too, be deleted.";
Quotation[6] = "O! Youth! What a pain in the backside.";
Quotation[7] = "Wishes are like goldfish with propellors.";
Quotation[8] = "Love the river's \"beauty\", but live on a hill.";
Quotation[9] = "Invention is the mother of too many useless toys.";


var Q = Quotation.length;
var whichQuotation=Math.round(Math.random()*(Q-1));
function showQuotation(){document.write(Quotation[whichQuotation]);}
showQuotation();
</script>
4

1 に答える 1

0

<a>このスクリプトは、ランダムな引用符と対応する href を持つタグに置き換えられます。

<script>
(function(){

    var quotes = [
      {text: "Test.", href: "http://example.com"},
      {text: "Sanity is a golden apple with no shoelaces.", href: "http://example.com"},
      {text: "Repent! The end is coming, $9.95 at Amazon.", href: "http://example.com"},
      {text: "Honesty blurts where deception sneezes.", href: "http://example.com"},
      {text: "Pastry satisfies where art is unavailable.", href: "http://example.com"},
      {text: "Delete not, lest you, too, be deleted.", href: "http://example.com"},
      {text: "O! Youth! What a pain in the backside.", href: "http://example.com"},
      {text: "Wishes are like goldfish with propellors.", href: "http://example.com"},
      {text: "Love the river's \"beauty\", but live on a hill.", href: "http://example.com"},
      {text: "Invention is the mother of too many useless toys.", href: "http://example.com"}
    ];

    var scripts = document.getElementsByTagName('script');
    var script = scripts[scripts.length - 1];
    var quote = quotes[Math.floor(Math.random()*quotes.length)];
    var a = document.createElement('a');
    a.href = quote.href;
    a.appendChild(document.createTextNode(quote.text));
    script.parentNode.replaceChild(a, script);

})();
</script>

JSFiddle

これは、リンクを配置したい場所にスクリプトを配置したいだけで、これをページ上で 1 回だけ実行したい場合に最適な方法です。ページに複数回必要な場合は、スクリプトの複数のコピーが必要ないように、これを少し異なる方法で行うことができます。

于 2012-06-12T00:48:33.983 に答える