回答受付中の質問
はじめまして。
サムネールをクリックすると同一ウィンドウ上に画像を表示するという Lightbox JSを用いて以下の動作をさせたいと考えています。
1.ページを読み込んだ時に自動でLightbox JSでイメージ(ロゴ等)を表示
2.イメージをクリックで通常のサイトに戻る
最初、onloadでクリックイベントを指定すればいいのかなと思い、
以下のようにしました。
***
(JavaScript)
window.onload = function() {
document.links[0].click();
};
(html)
<a href="XXX.gif" ref="lightbox"></a>
***
しかしこれでは、IEではただイメージに自動で遷移するだけ、
FirefoxではJavaScriptの以下のエラーが出て動作しません。
(そもそもclickイベントはアンカーには指定できない?)
では、クリックされたときに実行されるイベントをonloadしたときに実行するように書けばいいのかと思いましたが、
どれを実行させればよいのか、またどのように書けばいいのかがわかりません。
ご存知の方、ご教授いただければ幸いです。
(言葉足らずでご理解いただけない場合は申し訳ありません。
ご指摘ください。)
投稿日時 - 2007-02-08 13:03:17
1人が「このQ&Aが役に立った」と投票しています
回答(4件中 1~4件目)
ん~、問題のライブラリを拾ってきて観察してみました。
コレは、 ref="lightbox" を指定されたAリンクに、全自動でonclick()イベント処理を付与するタイプのライブラリのようですね。
従って、憶測ですが単純に、自作されたJavaScript部分を削除するだけで宜しいのではないでしょうか?
もちろん、HTMLソースに
<script type="text/javascript" src="lightbox.js"></script>
と
<link rel="stylesheet" href="lightbox.css" type="text/css" />
の記述が有ることは大前提ですが(^^;
投稿日時 - 2007-02-08 23:24:07
補足
NTJ様
ご回答ありがとうございます。
該当のJSは仰るとおりのライブラリです。
まず、lightboxのjsファイルとcssファイルは、外部ファイルとして正しく動作しています。
普通にアンカーをクリックすると、動作します。
ご指摘のように自作JavaScript部分を削除してしまうと、
本来の目的である自動実行が達成されないかと思います。
ちなみに、自作部分は正しい記述ができていますでしょうか?
(ちょっと自信がありません^^;)
アンカーの自動クリック(.click())を単に書けばいいのかなと思っていたんですけど。。。
良い方法がありましたら教えていただければ幸いです。
投稿日時 - 2007-02-09 00:27:21
http://www.koikikukan.com/archives/2006/01/13-235556.php
lightbox JS を知らないのですが、検索したらこんなのがヒットしましたが、
役に立ちますか?
投稿日時 - 2007-02-08 16:36:25
補足
PED02744様
ご回答ありがとうございます。
使用しているのはリンク先にも紹介されているlightboxです。
ただし、バージョンは2.02(紹介されているものは1.0)を使用しています。
カスタマイズをされている方々もいらっしゃいますが、
私にはそこまでのスキルがなく…
皆様のお力をおかりできたらなと思います。
投稿日時 - 2007-02-08 17:26:45
***
(JavaScript)
function onl() {
document.links[0].click();
};
<html>
<body onload="onl()">
<a href="XXX.gif" ref="lightbox"></a>
***
では無理でしょうか?
投稿日時 - 2007-02-08 14:13:15
補足
masaota56様
早速のご回答ありがとうございます。
教えていただいた方法では試してみたのですが、
以下の様になってしまいます。
[Firerfox]
エラーコンソールで以下のエラーが表示されます。
document.links[0].click() is not a function
[IE]
JavaScriptのエラーは出ていない(確認方法がわからず>ie7)ようですが、
拡大表示させるイメージに画面自体が遷移してしまいます。
動作環境をご提供できればよいのですが、都合によりお見せできなくて申し訳ありません。
lightboxを自動実行することが目的ですので、
アンカータグの自動クリックでうまくいかなければ、
直接lightbox JSをいじろうと思っています。
その場合もどの部分を変更すればよいのか…
またアドバイスをいただければ幸いです。
よろしくお願いいたします。
投稿日時 - 2007-02-08 15:03:57