急ぎです
ページ開いたときに確率によって出る画像なんかを変える(何%で画像A、残り何%で画像Bが出るみたいな感じ)ことができるって聞いたことあるんですけど、やり方知ってる方が居ましたら教えてください。
自分でも調べてみたのですが良くわかんないってゆうか見つからないとゆうか・・・・
お願いします

このQ&Aに関連する最新のQ&A

A 回答 (5件)

2つだとできたんですよね?


4つではどんな風にできないんでしょう?
具体的に教えてください。

・4つの画像がどうしても出てこないのか
・4つにしようとするとエラーが発生するのか

など。

$image_noにどんな数字が入っているかを
printで表示させてみるなどして、
どこまでが正しくできているかを見極めていけば
どこが間違いの部分かがわかると思いますよ。
    • good
    • 0

あれ?CGIも試されたんですか?



2つだとうまくいって4つだとうまくいかないのは
単なるミスだと思いますがどのように書かれてますか?
エラーが出るのでしょうか?
それとも4枚出るはずが3枚しか出ないとかでしょうか?

imageA:10%(数字の0)
imageB:30%(数字の123)
imageC:40%(数字の4567)
imageD:20%(数字の89)
と言う風に決めておくと

$image_no = int(rand(10));
if($image_no < 1){
$image = imageA.jpg;
}elsif($image_no < 4){
$image = imageB.jpg;
}elsif($image_no < 8){
$image = imageC.jpg;
}else{
$image = imageD.jpg;
}
print "<img src=$image>\n";

と書けばよいかと思います。
もしこれでもうまくいかなかったら、

$image_no = int(rand(10));
の上に
srand;
と書いてみて下さい。
そうすると乱数を初期化します。

この回答への補足

何度もありがとうございます
やってみたのですができませんでした
思ったのですが出来ないのはたぶん(とゆうか確実に)僕のCGIに対する知識の無さのせいだと思うんですよ
それか認識の間違いか
それでそうゆうのを探してみたんですがさっぱりでした
どうしましょう

補足日時:2002/03/24 23:35
    • good
    • 0

そういえばこれぐらいJavaScriptでも出来ますよね。


CGIならある程度知識があるのですが、JavaScriptはほとんど使ったこと無いので
CGIならわかると思って以下のように質問してしまいました。

でも基本的にはJavaScriptの方法と同じですよ。
違いは、JavaScriptの場合は、最初にすべての画像を読み込んでしまうはずなので、
ランダムに表示させたい画像が多くなった場合あまりお薦めできません。
CGIの場合は、表示させる画像しか読み込まないです。

20%で画像A、80%で画像Bが出るみたいな感じにするとしたら
$image_no = int(rand(10));  # $image_no に0~9の数字が入ります。ここでは必ずしも整数化する必要はありません。
if($image_no < 2){
$image = imageA.jpg;
}else{
$image = imageB.jpg;
}
print "<img src=$image>\n";

っていう感じですかね。
僕が実際に自分のホームページでやってるのは、
300枚ぐらいの画像を等確率でランダムに表示させてますので、
配列「@imagefiles」にファイルから読みとった300枚の画像のファイル名(パス)を入れた後に、

$image_no = int(rand($#imagefiles+1));  
print "<img src=$imagefiles[$image_no]>\n";

のように使ってます。
この場合は配列の引数にそのまま使ってますので整数化する必要があります。

この回答への補足

ありがとうございます
やってみたのですがうまくいきませんでした
k-ishidateさんのもそうだったのですが、画像が2つだとうまくいくんです
でも、僕が今やりたいのは4つ(始めから言っとけとかいうツッコミはなしで)なんですが、4つになるとできなくなるんですよ
どうなんですかね
できればくわしく教えていただけないでしょうか

補足日時:2002/03/24 13:23
    • good
    • 0

JavaScriptではどうでしょう。

HTMLに埋め込むので、
サーバで自作CGIが使えなくても可能です。

私は以下のコードで確認をしてみました。とりあえずダミーの画像リンクを
置いて、その後JavaScriptで乱数を発生させ、約1/2の確率で
瞬時に画像の置き換えをしています。

<HTML>
<BODY>
<IMG SRC="dummy.jpg" NAME="img" >
<SCRIPT LANG="JavaScript">
<!--
i = Math.random();
if ( i > 0.5){
document.img.src = "Dscf0031.jpg";
} else {
document.img.src = "Dscf0032.jpg";
}
// -->
</SCRIPT>
</BODY>
</HTML>

画像の変更は、参考URLを見てみて下さい。乱数については、
検索サイトで「JavaScript」「乱数」で検索してみてください。

参考URL:http://www.ueda.info.waseda.ac.jp/~gaku/js/
    • good
    • 0
この回答へのお礼

ありがとうございます
これでもよさそうなのですがなんかちがうきがするんです
どうなんでしょうか(謎

とにかくありがとうございました
一度試しにやってみます

お礼日時:2002/03/23 13:07

あくまでHTMLでやりたいという話ですか?


CGIを使えば簡単に出来ますが・・・。

この回答への補足

はい、出きるのであればHTMLがいいです。
でも、そのCGIのやり方も教えていただけるのなら教えてほしいです

補足日時:2002/03/23 13:01
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q確率でグループ分け問題のコンビネーションの使い方について

15人をA組、B組、C組の各組5人ずつのグループに分ける時の場合の

数は、15C5・10C5通りですが、組の区別がない時は上記の数を3!で割

ると答えが求まります。

組み合わせのC(コンビネーション)はどういう特徴のためにA組B組のよ

うな、組の区別があるものしか答えが求められないのでしょか?

Aベストアンサー

質問者さんの疑問?は、コンビネーションの特徴が起因しているのではないと思います。#1さんのお話と同じなんだと思うんですが、うまく説明できるかな・・・。

この問題は、
1) 15人から5人を選び出す  ・・・ コンビネーション 15C5
2) それをAグループとする   ・・・ ???
3) 10人から5人を選び出す  ・・・ コンビネーション 10C5
4) それをBグループとする   ・・・ ???
5) 残った5人をCグループとする ・・・ 1通り

という手順で、グループに分ける場合の数は、上の1)、3)、5)を掛算して得られる。ここで、疑問の「組の区別がある/ない」は、1)、3)のコンビネーションによって発生しているのではなく、2)、4)、5)の「取り出した順に並べる」という手順にしたがって1)、3)、5)を「掛け合わせる」という計算によって発生しています。で、「場合の数を掛け合わせて得られる」のが順列ですよね。
通常、順列というと、例えば「1から9の数字から3つを順に選んで並べる」とすると、1つめの数字の選び方が9通り、2つめの選び方が8通り、3つめが7通りですから、順列は9×8×7。ですが、何か特別な条件をつけて、1つめの数字の選び方が5通り、2つめも5通り、3つめが4通りなどとなることも有り得るわけで、その場合の順列は5×5×4です。というように、「場合の数を掛け合わせていく」のが順列ですよね。この問題も、1つ目の選び方が15C5通り、2つ目の選び方が10C5通りで、3つ目の選び方が1通りだから、順列は15C5 × 10C5 × 1 なわけです。

ということで、コンビネーションの計算がグループを区別している原因なのではなく、(コンビネーションで)取り出した人のグループを並べたという順列の行為(場合の数を掛け合わせたという計算)が区別の原因です。

質問者さんの疑問?は、コンビネーションの特徴が起因しているのではないと思います。#1さんのお話と同じなんだと思うんですが、うまく説明できるかな・・・。

この問題は、
1) 15人から5人を選び出す  ・・・ コンビネーション 15C5
2) それをAグループとする   ・・・ ???
3) 10人から5人を選び出す  ・・・ コンビネーション 10C5
4) それをBグループとする   ・・・ ???
5) 残った5人をCグループとする ・・・ 1通り

という手順で、グループに分...続きを読む

Q左○○px、右は残りの幅(100%-左px)ってできますか?

CSSでレイアウトを組みたいと思ってます。

要は左と右に2つに割って左はpx単位で指定して、右は残りのサイズ、ウインドウのサイズ変更に伴って可変するようにレイアウトを組んでいきたいと考えています。

発想力が足りないのか、基礎的な知識が足りないのか・・・
どちらも足りないとは思いますが、おしえていただければ幸いです。

どうかよろしくお願いいたします。

Aベストアンサー

とりあえずdivでフロートするだけでもよいかと

<style>
#l{
width:200px;
background-Color:blue;
float:left;
}
#r{
width:auto;
background-Color:red;
}
#b{
width:auto;
background-Color:green;
}
</style>
<div id="l">test</div>
<div id="r">test</div>
<div id="b">test</div>

Q条件付き確率の問題です。 赤玉7個、白玉3個が入った袋の中から、先ず2個を取り出し、元に戻さず続け

条件付き確率の問題です。

赤玉7個、白玉3個が入った袋の中から、先ず2個を取り出し、元に戻さず続けて1個取り出す時の、次の確率を求めなさい。

初めの2個がともに赤であった時、次の1個が白である確率。

C(コンビネーション)を使ったやり方で解説されているのですが、なぜコンビネーションなのかわかりません(^_^;)

解答は8C1分の3C1となっています。

Aベストアンサー

どうせ 1個しか取り出さないんだから, コンビネーションでもパーミュテーションでも同じことだよね.

Q画像をいくつか一列に並べ最後の画像のみ100%で指定する方法

HTMLで画像を横に一列に並べ最後の画像だけブラウザの端の最後まで表示されるようにwidth=100%と指定しましたがうまくいきません。

ソース
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<div>
<img src="hoge.gif"><img src="hoge2.gif"><img src="SAIGO.gif" width="100%">
</div>
</td></tr>
</table>

はじめの2つは一列に並んでくれるのですが最後の画像のみ並んでいる画像の下(別の行に)ブラウザいっぱいに表示されます。

<div>を入れてみましたがだめでした。

希望としてはすべの画像を一列に並ばせるが最後の画像だけブラウザの右側までいっぱいに表示されるようにしたいです。

よろしくお願いいたします。

Aベストアンサー

できないですがSAIGOが切れてもいいなら
nobrタグでいけるような気がします。
ただし、heightを実数指定しておかないと
でかいイメージが表示されるのでげんなりですが。

<nobr><img src="hoge.gif"><img src="hoge2.gif"><img src="SAIGO.gif" width="100%"></nobr>

Q数A確率m個からn個を取り出す

こんにちは。

5個の玉(それぞれ1~5の数字が書かれています)があるとします。この中から同時に2個を選ぶ確率を教えてください。


すべての選び方は5C2通り、場合の数も5C2で、確率は1になってしまうんですが、そんなことないですよね・・・?
どこが違っていますか??

あと、5個の白玉から1個を無作為に選ぶときの確率を、上のようにコンビネーションを使って分数形で表すとどうなりますか?。(コンビネーションを使わないで表せば確率は、1/5になりますか?)


間違いを指摘して、正しい解答を教えていただきたいです。
ご回答よろしくお願いします。

Aベストアンサー

5個の玉から2個取り出す確率、と書くと条件がないため、確率は100%(どんな時も2個取れる)になります。

2個取り出す玉に条件をつけると確率は変化します。
例えば書いている数字の合計が5になる、1の玉が含まれる、取り出した合計が残ってる合計以上になる、などなど。

白玉1個を取り出す確率は5分の1ながら、こちらも明確な条件がなければ、結局はどれを引いても同じにしか見えません。1(5)分の1(5)となんら変わりのない結果となってしまいます。

Q背景画像の100%表示について

グラフィック・webのデザイナーです。
コーディングの知識はまだhtml・cssの基礎程度なのですが
今勉強中です。

今、以下のサイトのように
http://takaratomymall.jp/shop/pages/gift.aspx
いくつかのセクションが下に連なっていく
縦長LPを作っており、
コーディングについて質問させてください。

上記サイト内
・メイン画像部分
・「POINT03 “選ぶ時間”も…」の部分
それぞれ背景画像が
100%表示で敷かれていますよね。
これを実装したく、webで調べていたのですが
そもそもどういうワードで調べればよいのかわからず、
なかなかたどり着けません。

1ページの中に、それぞれ別の背景画像(100%表示)が敷かれた
セクションが存在する…という状況を、
どういった形で制御すればいいのか、
その方法が知りたいです。

初歩的な質問で恐縮ですが、
どういう名称の技術なのか、
もしくは参考サイトなどご存知の方おられましたら
お教えいだけないでしょうか。
よろしくお願いします。

グラフィック・webのデザイナーです。
コーディングの知識はまだhtml・cssの基礎程度なのですが
今勉強中です。

今、以下のサイトのように
http://takaratomymall.jp/shop/pages/gift.aspx
いくつかのセクションが下に連なっていく
縦長LPを作っており、
コーディングについて質問させてください。

上記サイト内
・メイン画像部分
・「POINT03 “選ぶ時間”も…」の部分
それぞれ背景画像が
100%表示で敷かれていますよね。
これを実装したく、webで調べていたのですが
そもそもどういうワードで調...続きを読む

Aベストアンサー

HTMLとCSSの仕様書は読破されていますか??少なくともどこに何が書かれているくらいは頭に入っていないと。
>これを実装したく、webで調べていたのですが
 自己流のクソなサイトをいくら見てもドツボにはまるだけで役には立たない。
 まず仕様書を読む。そこにしたいことはすべて書いてある。それも正確に・・

>100%表示で敷かれていますよね。
 そりゃ、そのサイトのように幅を固定すればどうにでもなる。
 そのサイトは、HTML5で書いたつもりでしょうが、そもそもHTML5の最大の目的の一つ「文書構造の明確化」ができていない。
HTML5“とか”アプリ開発入門(1):Webの3つの問題を解決する「HTML5」とは何なのか (2/2) - @IT( http://www.atmarkit.co.jp/ait/articles/1008/30/news106_2.html )
 の【問題2】
 そのためHTML5では、
NOTE:Authors are strongly encouraged to view the div element as an element of last resort, for when no other element is suitable. Use of more appropriate elements instead of the div element leads to better accessibility for readers and easier maintainability for authors.
注意:著者は、他により適切な要素がない時の最後の要素としてdiv要素を使用することが強く奨励されます。div要素の代わりにより適切な要素を使用することは、読者のためには、より良いアクセシビリティを著者にとってはメンテナンス性の向上につながります。
 と強く言われている。

背景サイズはbackground-sizeプロパティ
CSS Backgrounds and Borders Module Level 3( https://www.w3.org/TR/css3-background/#the-background-size )

★タブは_に置換してあるので戻す。
<!doctype html>
<html>
<head>
_<meta charset="utf-8">
_<title>サンプル</title>
_<meta name="description" content="">
_<meta name="author" content="ORUKA">
<style media="screen">
<!--
html,body{position:relative;}
html{background-color:black;}
body{max-width:900px;margin:0 auto;background-color:silver;}
body>section{
_background-color:aqua;
_background-size:cover;
_height:300px;
}
body section#abc{
_background-image:url("./images/space.png");
}
body section#efg{
_background-image:url("./images/test2.jpg");
}
body section#hij{
_background-image:url("./images/1000.png");
}

-->
</style>
</head>
<body>
_<header>
__<h1 id="title">Your title</h1>
__<nav>
___<ul>
____<li><a href="#abc">Some</a></li>
____<li><a href="#efg">navigation</a></li>
____<li><a href="#hij">links</a></li>
___</ul>
__</nav>
_</header>
_<section id="abc">
__<h2>A smaller heading</h2>
__<p>一番目のセクション</p>
__<aside>
___<h3>Something aside</h3>
__</aside>
_</section>
_<section id="efg">
__<h2>A smaller heading</h2>
__<p>二番目のセクション</p>
_</section>
_<section id="hij">
__<h2>A smaller heading</h2>
__<p>三番目のセクション</p>
_</section>
_<footer>
__<h3>A nice footer</h3>
_</footer>
</body>
</html>

HTMLとCSSの仕様書は読破されていますか??少なくともどこに何が書かれているくらいは頭に入っていないと。
>これを実装したく、webで調べていたのですが
 自己流のクソなサイトをいくら見てもドツボにはまるだけで役には立たない。
 まず仕様書を読む。そこにしたいことはすべて書いてある。それも正確に・・

>100%表示で敷かれていますよね。
 そりゃ、そのサイトのように幅を固定すればどうにでもなる。
 そのサイトは、HTML5で書いたつもりでしょうが、そもそもHTML5の最大の目的の一つ「文書構造の明...続きを読む

Q確率の問題で

確率の問題で「トランプ52枚から3枚引いて、そのうち2枚がハートの確率を求めよ」とあり、答えは
(13C2*39C1)/52C3=117/850ですが、
私は、
一回目ハート、2回目ハート、三回目その他=(13/52)*(12/51)*(39/50)
だと思いました。一回目がその他でも掛け算なので影響しないかと・・・
確率の問題のコンビネーションの使い方を教えてください。また私のような解き方で解く問題はどういったものでしょう?

Aベストアンサー

質問者さんの言われるのは順列です。
並び方を考えています。
1番、2番、3番がハート、ハート、その他に限定されると順列です。
入れ替えを許して
ハート、その他、ハート
その他、ハート、ハート
を同じものと考えると組み合わせとなります。

Q美容整形外科の画像は100%修正済み?

美容整形外科サイトの特に手術後の画像は100%修正済みと考え
ていいですか?
よく見れば修正してあるとわかりますが、手術を受けようとしている
人は美に目がくらんでいるから、分からないですか?
お金に目がくらんで・・・・・・・・ってよくあることですね。美も同じです
か?

Aベストアンサー

全部が全部ではないでしょう

ファッション関係やグラビアの修正でも、
これとこれを修正って案件があって、
その他は無修正って事もあるし、実画像次第じゃないの?
そもそも実物が人工って事なので実物自体が違和感あるから
実物画像が無修正でもレタッチ済にみえる。
もろレタッチってのもあるようですしw
予算や時間の都合もあるし・・・

化粧や服装でもかなり変わると思う。
ビフォー(すっぴん&ジャージ) → アフター(厚化粧&洋服)
元々比較にならないですね・・・

Q数学 確率の問題

9枚のカードがあり、カードの表にはそれぞれ「2」「3」「4」「5」「6」「7」「8」「9」「10」の数が書かれている。
また、裏にはすべて「1」が書かれている。
これらのカードを投げたときに、それぞれのカードの表が上側になる確率と裏が上側になる確率は、ともに1/2であるとする。
9枚のカードすべてを同時に投げて、各カードの上側に現れた数をすべて掛けあわせた値を得点とする。
次の問に答えよ。

(1)得点が8点になる確率を求めよ。
(2)得点が偶数になる確率を求めよ。
(3)得点が8の倍数になる確率を求めよ。

という問題でコンビネーションが使えない理由を教えてください。
お願いします。

Aベストアンサー

ANo.1です。
済みません。(3)の場合分けをミスりましたので、
以下の通り訂正します。ご迷惑をおかけしました。
(3)得点が8の倍数になる確率を求めよ。
(ア)「8」が表の全ての場合:確率=1/2
(イ)「8」「6」「10」が裏、「4」「2」が表の場合
:確率=(1/2)^5
(ウ)「8」「2」「10」が裏、「4」「6」が表の場合
:確率=(1/2)^5
(エ)「8」「6」「2」が裏、「4」「10」が表の場合
:確率=(1/2)^5
(オ)「8」「2」が裏、「4」「6」「10」が表の場合
:確率=(1/2)^5
(カ)「8」「6」が裏、「2」「4」「10」が表の場合
:確率=(1/2)^5
(キ)「8」「10」が裏、「2」「4」「6」が表の場合
:確率=(1/2)^5
(ク)「8」「4」が裏、「2」「6」「10」が表の場合
:確率=(1/2)^5
(ケ)「8」が裏、「2」「4」「6」「10」が表の場合
:確率=(1/2)^5
求める確率は以上の合計=(1/2)+8*(1/2)^5=24/32=3/4・・・答え

QJavascriptで画像の大きさを%指定したい

imgタグで、画像の大きさをwidth="50%"と元の大きさを基準に指定できます。

そしてJavaScript中で
  window.event.srcElement.width = 123
として、大きさを指定できますが、JavaScript中で
  window.event.srcElement.width = "50%"
とすると失敗します。

JavaScript中にて、パーセントで指定できないのでしょうか。

Aベストアンサー

No.1 です

> ところで、逆に現在のscaleの値も得ることが出来るでしょうか。
> 画像をクリックするたびに、25%->50%->100%->25%->...としたいのです。

スクリプト上で現在の style の設定値を読み取るのは、
なかなかに面倒な処理になりがちです。

参考
https://developer.mozilla.org/ja/docs/Web/API/window.getComputedStyle

なので style ではなく class を読み書きしては如何でしょうか。
以下 HTML5/CSS3 での実装例です。

<style>
img.quarter { transform:scale(0.25); }
img.half { transform:scale(0.5); }
img.regular { transform:scale(1); }
</style>
<script> document.addEventListener('click', function(ev){
var A = [ 'quarter', 'half', 'regular' ];
var x = ev.target;
if (! x instanceof HTMLImageElement) return;
var i = A.reduce(function(p,v,i){return x.classList.contains(v)? i: p},-1);
if (i < 0) return;
x.classList.remove(A[i]);
x.classList.add(A[ (i+1) % A.length ]);
}, false)</script>

<body>
<p><img src=dummy1.jpg class=regular> クリックにより拡大縮小、初期100%
<p><img src=dummy2.png class=half> クリックにより拡大縮小、初期50%
<p><img src=dummy3.gif> 対象外の画像

No.1 です

> ところで、逆に現在のscaleの値も得ることが出来るでしょうか。
> 画像をクリックするたびに、25%->50%->100%->25%->...としたいのです。

スクリプト上で現在の style の設定値を読み取るのは、
なかなかに面倒な処理になりがちです。

参考
https://developer.mozilla.org/ja/docs/Web/API/window.getComputedStyle

なので style ではなく class を読み書きしては如何でしょうか。
以下 HTML5/CSS3 での実装例です。

<style>
img.quarter { transform:scale(0.25); }
img.half { transform:scale...続きを読む


人気Q&Aランキング

おすすめ情報