![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_06.png?8acaa2e)
●JavaScriptを使用して、再生時間の異なったスライドショーを同時再生したい
(js1とjs2の画像を重ねて、アナログ時計が動くようなスライドショーにしたい)
●現状:どちらか一方の画像しか動かない(ソースの後に記述したjsのみ動く)
調べたところによると、jQueryを使用すれば可能との事で色々なサイトで調べ、
試行錯誤したのですがうまく動きません。
(参考にさせて頂いたサイト様:http://black-flag.net/jquery/20110525-3120.html)
jQueryを使用しなければ、同時再生はできないのでしょうか?
そうなると、以下のHTML、CSSなどを根本から変える必要があるように思っています。
※実際に上記のサイトを参考に行ってはみたのですが・・・力不足で解決できませんでした。
初歩的な質問かとは思いますが、ご指摘頂ければと思います。
よろしくお願い致します。
_____________ XHTML ____________________
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dt …
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>ポートフォリオ</title>
<link href="base.css" rel="stylesheet" type="text/css" media="all" />
<link href="top.css" rel="stylesheet" type="text/css" media="all" />
<script type="text/javascript" src="portfolio.js"></script>
<script type="text/javascript" src="portfolio2.js"></script>
<noscript>
JavaScript対応ブラウザで表示してください。
</noscript>
</head>
<body onload="setTimeout('timerImg()', 3000);">
<body>
<div id="header">
<img src="portfolio/logo2.png" alt="ヘッダー"></div>
<div id="wrapper">
<div id="photo1">
<img name="img/1.png" src="img/1.png" alt="長針"></div>
<div id="photo4">
<img name="img2/1.png" src="img2/1.png" alt="短針"></div>
<div id="photo2">
<img src="portfolio/tokei.under.png" alt="時計柄"></div>
<div id="photo3">
<img src="portfolio/tokei.logo.png" alt="ロゴ"></div>
<ul id="contens-nav">
<li id="home"><a href="portfolio.html">HOME"</a></li>
</ul>
<ul id="contens-nav2">
<li id="works"><a href="works.html">WORKS"</a></li>
</ul>
<ul id="contens-nav3">
<li id="about"><a href="about.html">ABOUT"</a></li>
</ul>
<ul id="contens-nav4">
<li id="contact"><a href="contact.html">CONTACT"</a></li>
</ul>
</div>
</body>
</html>
_____________ CSS(base) ___________________
@charset "UTF-8";
* {
margin:0;
}
body {
font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "MS Pゴシック", "MS PGothic", sans-serif;
line-height: 1.5;
}
div#wrapper {
position:relative;
width: 844px;
left: 50%;
margin-left: -422px;
}
div#photo1 {
position: absolute;
left: 50%;
height: 100%;
width: 844px;
margin-left: -422px;
z-index: 3;
}
div#photo4 {
position: absolute;
left: 50%;
height: 100%;
width: 844px;
margin-left: -422px;
z-index: 2;
}
div#photo2{
position: absolute;
left: 50%;
height: 100%;
width: 844px;
margin-left: -422px;
z-index: 1;
}
div#photo3{
position: absolute;
left: 50%;
height: 100%;
width: 844px;
margin-left: -422px;
z-index: 4;
}
_____________ js 1 ____________________
// JavaScript Document
<!--
var photo = new Array("img2/1.png", "img2/2.png", "img2/3.png","img2/4.png", "img2/5.png", "img2/6.png","img2/7.png", "img2/8.png", "img2/9.png","img2/10.png", "img2/11.png", "img2/12.png");
var i = 0;
function timerImg () {
if(document.images['img2/1.png'].complete) {
i++; if(i >= photo.length) i = 0;
document.images['img2/1.png'].src = photo[i];
}
setTimeout("timerImg()", 12000);
}
//-->
_____________ js 2 ____________________
// JavaScript Document
<!--
var photo = new Array("img/1.png", "img/2.png", "img/3.png","img/4.png", "img/5.png", "img/6.png","img/7.png", "img/8.png", "img/9.png","img/10.png", "img/11.png", "img/12.png");
var i = 0;
function timerImg () {
if(document.images['img/1.png'].complete) {
i++; if(i >= photo.length) i = 0;
document.images['img/1.png'].src = photo[i];
}
setTimeout("timerImg()", 1000);
}
//-->
No.1ベストアンサー
- 回答日時:
気がついた所を。
> <body onload="setTimeout('timerImg()', 3000);">
このタイマーのタイムアウトが発生した場合、js1の中のtimerImg()とjs2の中のtimerImg()、どちらが呼び出されるとお考えでしょうか?
JSファイルを分けても同じ名称で関数を定義してしまうと、多重定義になってしまい、私の実験ではIE9でやりましたが、後に定義したほうが呼び出されるみたいです。
同様に、var photo も両方にありますよね?これも同じで、後から定義した方が使われているみたいです。
関数1つを1つのオリジナルの名称にして(js1はtimerImg1(), js2はtimerImg2())、var photo もオリジナルな名前になる様にすれば、動くのではないかと思います。
unacyo様、ご回答ありがとうございます。JSファイルにそれぞれの名称をつけ、関数の多重定義を避けてみました。同時再生は可能になりましたが、画像が重なるところで不備が生じる状態(短針と長針が重ならないと針が動かない状態:12時の所で画像が重なるように画像の再生時間を調整しても)です。ご回答頂いた事を参考にして自分で改善したいと思います。ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS 書籍を見つつサイト造りの練習をしているのですが、見た目が一致しません 2 2022/11/28 15:00
- JavaScript 画像の表示位置 3 2022/12/23 08:25
- JavaScript html5に変えるとスライドショーが消えてしまった。 3 2022/03/26 19:53
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- HTML・CSS PCサイズで赤い画像2つと、青い画像2つがそれぞれ横に2つずつ並んでいるのですが、これをスマホサイズ 5 2022/04/11 12:01
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- HTML・CSS ヘッダーの画像にメインエリアがかぶってしまいます 1 2022/11/28 14:06
- JavaScript アップロードファイルの種類によって処理を分岐させたいのですが書き方が分からずアドバイスお願いします 4 2023/06/17 19:12
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
htmlとcssに関する質問です
-
時間差で画像を動作させたいjav...
-
JavaScriptで画像情報の表示と...
-
jQueryでのドラッグアンドドロ...
-
JavaScript - 月ごとに画像変化
-
同HTML内で複数のJavaScriptを設置
-
JavaScriptでの画像切り替えを...
-
画像の表示位置
-
MAX関数を使ってからLEFT JOIN...
-
【iOS及びAndroid】リンク画像...
-
リンク先がそれぞれ別の画像の...
-
中心を軸にくるくる回るjQuery ...
-
連番画像「次へ」「前へ」で、...
-
jqueryを使って無駄なspanタグ...
-
画像がプルプルふるえるんです。
-
右クリック禁止スクリプト挿入法
-
表示・非表示のスクリプトで、...
-
Gif画像のアニメーションが再生...
-
商品画像リンク (image_link)...
-
iframe内のリンクが飛ばないの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
デフォルト非表示にしたい。【t...
-
jQueryで同じクラス名のものを...
-
Colorboxがうまく設置できません
-
jQueryでのドラッグアンドドロ...
-
bxsliderで最初に縦に複数表示...
-
Javascript初心者|jQueryの.va...
-
アップロードファイルの種類に...
-
画像マウスオーバーで、checkb...
-
複数bxsliderをタブで切り替え...
-
JavaScriptでの画像切り替えを...
-
サムネイルにカーソルを合わせ...
-
時間差で画像を動作させたいjav...
-
JavaScriptでクレイアニメ。ち...
-
「画像クリックで音声再生」を ...
-
マウスオーバーにて画像に虫眼...
-
交互に入れ替わる画像を複数配置
-
JQueryでオープニングアニメー...
-
クリックでクリッカブルマップ...
-
JavaScript/CANVASでの画像読込...
-
VBAでIEを動かす場合、下記の①...
おすすめ情報