2014.12.09
※画像を1つだけランダムに表示するなら、もう少し簡単なスクリプトでも可能ですが「jQuery」の記述を1つ追加する事で幅広く対応出来るのでサンプルではランダムに1つ表示と複数表示をしてます。
またテキストも組み合わせたり、もちろんそれぞれにリンクを付けることも可能なので工夫次第で色んなことが出来ると思います♪( ̄ε ̄〃)b
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script> <script type="text/javascript"> jQuery(function($) { $.fn.extend({ randomdisplay : function(num) { return this.each(function() { var chn = $(this).children().hide().length; for(var i = 0; i < num && i < chn; i++) { var r = parseInt(Math.random() * (chn - i)) + i; $(this).children().eq(r).show().prependTo($(this)); } }); } }); $(function(){ $("[randomdisplay]").each(function() { $(this).randomdisplay($(this).attr("randomdisplay")); }); }); }); </script>
※1行目はGoogleにホストされているjQueryファイルを読み込む為の記述です。(jQuery本体)
すでにjQuery本体を読み込んでる場合は記述しなくてOKです♪( Google Hosted Libraries )
※3行目~20行目を外部ファイルとして読み込んでもOKです♪
参考ページでは「jquery.randomdisplay.js」と言うファイル名で外部ファイル化されてます。
▼サンプルページでは以下のようにリストタグの中に画像を入れてます。
親要素の<ul>タグに「randomdisplay="3"」を記述してランダム表示を指定しています。
そして、ランダムに表示したい内容を子要素の<li>~</li>の間に記述しています。
<ul randomdisplay="3" class="sample-list"> <li><img src="画像のURL" alt="サンプル1" /></li> <li><img src="画像のURL" alt="サンプル2" /></li> <li><img src="画像のURL" alt="サンプル3" /></li> <li><img src="画像のURL" alt="サンプル4" /></li> <li><img src="画像のURL" alt="サンプル5" /></li> <li><img src="画像のURL" alt="サンプル6" /></li> <li><img src="画像のURL" alt="サンプル7" /></li> <li><img src="画像のURL" alt="サンプル8" /></li> <li><img src="画像のURL" alt="サンプル9" /></li> <li><img src="画像のURL" alt="サンプル10" /></li> </ul>
※親要素に「randomdisplay="表示件数"」と言う記述をすることによって、指定した表示件数ずつ子要素がランダムに表示されます。(もちろんidやclassを付けてCSSで装飾する事も可能です)
※サンプルでは表示する内容を10種類用意してますが、これより少なくても多くてもOKです♪
<li>~</li>を減らせば少なくなり、逆に<li>~</li>を増やせば多くなります。
▼サンプルページでのスタイルシート(CSS)の設定は以下の通りです。
.sample-list { list-style:none; }/* リストマークを非表示 */ .sample-list:after {/* 回り込みを解除 */ content: ""; clear:both; display: block; } .sample-list li { float:left; }/* 回り込みでリストを横並びに表示 */
▼HTMLにはこんな感じで記述しました♪ (画像のパターンとほぼ同じなので説明は割愛しますw)
<ul randomdisplay="3" class="sample-list">
<li><a href="リンク先のURL">テキスト1</a></li> <li><a href="リンク先のURL">テキスト2</a></li> <li><a href="リンク先のURL">テキスト3</a></li> <li><a href="リンク先のURL">テキスト4</a></li> <li><a href="リンク先のURL">テキスト5</a></li> <li><a href="リンク先のURL">テキスト6</a></li> <li><a href="リンク先のURL">テキスト7</a></li> <li><a href="リンク先のURL">テキスト8</a></li> <li><a href="リンク先のURL">テキスト9</a></li> <li><a href="リンク先のURL">テキスト10</a></li> </ul>
▼そしてスタイルシート(CSS)の設定はこんな感じです♪(サンプルなのでシンプルにw)
.sample-list { list-style:none; font-size:16px;} .sample-list li { margin-bottom:10px; }
▼HTMLにはこんな感じで記述しました♪(今回はサンプルページのHTMLをそのまま貼ってます)
子要素の<li>~</li>の中にさらに<ul>タグと<li>タグを入れて<a>タグで囲ってます。
(このブログの「最新記事」や「関連記事」と同じような構造です)
<ul randomdisplay="3" class="sample-list"> <li><!-- ▼ ランダム表示される子要素【1】 ここから ▼ --> <a href="http://interest2014.blog.fc2.com/blog-entry-64.html"> <ul class="box"> <li class="thumbnail"> <img src="http://blog-imgs-46-origin.fc2.com/i/n/t/interest2014/blog0252.gif" alt="2014年11月 忍者アドマックスの収益" /></li> <li class="article-title">2014年11月 忍者アドマックスの収益</li> <li class="article-date">2014.12.05</li> </ul></a> </li><!-- ▲ ランダム表示される子要素【1】 ここまで ▲ --> <li><!-- ▼ ランダム表示される子要素【2】 ここから ▼ --> <a href="http://interest2014.blog.fc2.com/blog-entry-63.html"> <ul class="box"> <li class="thumbnail"> <img src="http://blog-imgs-46-origin.fc2.com/i/n/t/interest2014/blog0250.gif" alt="FC2ブログにグローバルメニューを付ける方法" /></li> <li class="article-title">FC2ブログにグローバルメニューを付ける方法</li> <li class="article-date">2014.12.04</li> </ul></a> </li><!-- ▲ ランダム表示される子要素【2】 ここまで ▲ --> <li><!-- ▼ ランダム表示される子要素【3】 ここから ▼ --> <a href="http://interest2014.blog.fc2.com/blog-entry-62.html"> <ul class="box"> <li class="thumbnail"> <img src="http://blog-imgs-46-origin.fc2.com/i/n/t/interest2014/blog0244.gif" alt="FC2ブログにパンくずリストを付ける方法" /></li> <li class="article-title">FC2ブログにパンくずリストを付ける方法</li> <li class="article-date">2014.12.03</li> </ul></a> </li><!-- ▲ ランダム表示される子要素【3】 ここまで ▲ --> <li><!-- ▼ ランダム表示される子要素【4】 ここから ▼ --> <a href="http://interest2014.blog.fc2.com/blog-entry-61.html"> <ul class="box"> <li class="thumbnail"> <img src="http://blog-imgs-46-origin.fc2.com/i/n/t/interest2014/blog0243.gif" alt="常に表示されるコンテンツを両サイドに配置" /></li> <li class="article-title">常に表示されるコンテンツを両サイドに配置</li> <li class="article-date">2014.11.30</li> </ul></a> </li><!-- ▲ ランダム表示される子要素【4】 ここまで ▲ --> <li><!-- ▼ ランダム表示される子要素【5】 ここから ▼ --> <a href="http://interest2014.blog.fc2.com/blog-entry-60.html"> <ul class="box"> <li class="thumbnail"> <img src="http://blog-imgs-46-origin.fc2.com/i/n/t/interest2014/blog0241.gif" alt="スタイルシート(CSS)をスイッチで切り替え" /></li> <li class="article-title">スタイルシート(CSS)をスイッチで切り替え</li> <li class="article-date">2014.11.26</li> </ul></a> </li><!-- ▲ ランダム表示される子要素【5】 ここまで ▲ --> <li><!-- ▼ ランダム表示される子要素【6】 ここから ▼ --> <a href="http://interest2014.blog.fc2.com/blog-entry-59.html"> <ul class="box"> <li class="thumbnail"> <img src="http://blog-imgs-46-origin.fc2.com/i/n/t/interest2014/blog0240.gif" alt="やっぱマウスは有線が良いと思った今日この頃" /></li> <li class="article-title">やっぱマウスは有線が良いと思った今日この頃</li> <li class="article-date">2014.11.24</li> </ul></a> </li><!-- ▲ ランダム表示される子要素【6】 ここまで ▲ --> <li><!-- ▼ ランダム表示される子要素【7】 ここから ▼ --> <a href="http://interest2014.blog.fc2.com/blog-entry-58.html"> <ul class="box"> <li class="thumbnail"> <img src="http://blog-imgs-46-origin.fc2.com/i/n/t/interest2014/blog0239.gif" alt="FC2ブログで公開中の記事数を表示する方法" /></li> <li class="article-title">FC2ブログで公開中の記事数を表示する方法</li> <li class="article-date">2014.11.22</li> </ul></a> </li><!-- ▲ ランダム表示される子要素【7】 ここまで ▲ --> <li><!-- ▼ ランダム表示される子要素【8】 ここから ▼ --> <a href="http://interest2014.blog.fc2.com/blog-entry-57.html"> <ul class="box"> <li class="thumbnail"> <img src="http://blog-imgs-46-origin.fc2.com/i/n/t/interest2014/blog0238.gif" alt="RSSでお友達ブログの新着記事を一覧表示" /></li> <li class="article-title">RSSでお友達ブログの新着記事を一覧表示</li> <li class="article-date">2014.11.20</li> </ul></a> </li><!-- ▲ ランダム表示される子要素【8】 ここまで ▲ --> <li><!-- ▼ ランダム表示される子要素【9】 ここから ▼ --> <a href="http://interest2014.blog.fc2.com/blog-entry-56.html"> <ul class="box"> <li class="thumbnail"> <img src="http://blog-imgs-46-origin.fc2.com/i/n/t/interest2014/blog0235.gif" alt="オリジナル画像でアクセスカウンターを設置" /></li> <li class="article-title">オリジナル画像でアクセスカウンターを設置</li> <li class="article-date">2014.11.20</li> </ul></a> </li><!-- ▲ ランダム表示される子要素【9】 ここまで ▲ --> <li><!-- ▼ ランダム表示される子要素【10】 ここから ▼ --> <a href="http://interest2014.blog.fc2.com/blog-entry-55.html"> <ul class="box"> <li class="thumbnail"> <img src="http://blog-imgs-46-origin.fc2.com/i/n/t/interest2014/blog0231.gif" alt="最近ブログの表示速度が遅い気がする..." /></li> <li class="article-title">最近ブログの表示速度が遅い気がする...</li> <li class="article-date">2014.11.19</li> </ul></a> </li><!-- ▲ ランダム表示される子要素【10】 ここまで ▲ --> </ul>
※リストタグ(<ul>と<li>)を入れ子にしてるので、10パターン全てのソースを書くと上記のように長くなりちょっと複雑に見えますが1ブロックずつ見てみるとそんなに難しくないと思います。
サンプルの表示内容がちょっと多かったかな?w... ( ̄▽ ̄;)
▼スタイルシート(CSS)の設定はこんな感じになってます♪
簡単な説明をコメントアウトで付けて見ました。
.sample-list { list-style:none; font-size:16px; }/* マークの非表示&文字サイズ */ .sample-list:after {/* 回り込みを解除 */ content: ""; clear:both; display: block; } .sample-list li{ float:left; }/* 回り込みでリストを横並びに表示 */ .box {/* ランダム表示される子要素内に入れたulタグ部分 */ list-style:none;/* リストマークを非表示 */ position:relative;/* 画像やテキストの表示位置の基準位置 */ width:290px;/* 外枠の横幅 */ height:122px;/* 外枠の縦幅 */ border:1px #CCC solid;/* 外枠の線(太さ、色、線種) */ border-radius:8px;/* 外枠の角を丸く */ margin:0 14px 14px 0;/* 右と下に14pxずつ余白 */ -webkit-transition: 0.5s;/* マウスオーバー時の時間変化 */ transition: 0.5s;/* マウスオーバー時の時間変化 */ } .box:hover {/* マウスオーバー時 */ border:1px #09f solid;/* 外枠の線(太さ、色、線種) */ box-shadow: 3px 3px 3px 0px rgba(0,0,0,0.5);/* 外枠に影を表示 */ } .thumbnail { position:absolute; top:10px; left:10px; }/* 画像が入ってる部分 */ .thumbnail img{/* 画像自体に対しての指定 */ width:100px;/* 画像の横幅 */ height:100px;/* 画像の縦幅 */ border-radius:5px;/* 画像の角を丸く */ border:1px #CCC solid;/* 画像に枠線を表示(太さ、色、線種) */ } .article-title {/* 記事タイトルが入ってる部分 */ position:absolute; top:10px; right:10px; width:160px;/* 記事タイトルが表示されるスペースの横幅 */ text-align:left;/* テキストを左寄せ */ word-break:break-all;/* テキストの改行方法の指定 */ } .article-date {/* 記事の日付が入ってる部分 */ position:absolute; bottom:10px; right:10px; width:160px;/* 日付が表示されるスペースの横幅 */ text-align:right;/* テキストを右寄せ */ padding-top:5px; border-top:1px #CCC dotted;/* 日付の上の点線(太さ、色、線種) */ }
※ランダム表示される子要素の中に入れた<ul>タグ(class="box")と3つの<li>タグ(class="thumbnail"、"article-title"、"article-date")の構造は以下の画像のような感じです。
<ul>タグ(class="box")にマウスが乗ると外枠の色が変更になり影が付きます(CSSの21~22行目)
- TrackBack -
- Comment -
- Post a Comment -
▼クリックすると配色が変更されます
このボタンの設置方法は こちら♪
2014.12.15
2014.12.09
2014.12.05
2014.12.04
2014.12.03
ランダム表示、私もブログのhead(笑)の画像、4枚をランダムに出してます。
ランダムも色々出来るんですね。じっくり研究します。
そして、マウスオーバー、スーっと上がってカッコ良いです。私も何処かでまねっこします。笑
いやぁ、この時期にエアコンが壊れるのは痛いですよねぇ。私も昨夜、リモコンの調子が悪くなって、これから、電池買いに行って来ます。
年末だからか、お金かかる事ばかりですよねぇ。泣
友達は色々年末の予定入れてくるし・・・
本当に生活苦だっつーの・・・すみません、愚痴でした。