
Photo Sliderの画像にリンクを張りたい。
元はリンクが張っていないのですが、出てくる写真をクリックしたら飛ぶようにしたいです。
【htmlソース】
<html lang="ja">
<head>
<meta http-equiv="content-type" content="text/html; charset=Shift_JIS">
<link rel="stylesheet" type="text/css" media="screen" href="photoslider.css" />
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="photoslider.js"></script>
<title>Photo Slider Tutorialより</title>
</head>
<body>
<div><a href="http://opiefoto.com/articles/photoslider" target="_blank">Photo Slider Tutorial</a>より必要部分を抜き出したもの</div>
<h2>必要なもの</h2>
<p>
<ul>
<li><a href="jquery.js" target="_blank">jquery.js</a></li>
<li><a href="photoslider.js">photoslider.js</a></li>
<li><a href="photoslider.css">photoslider.css</a></li>
</ul>
</p>
<div class="photoslider" id="default"></div>
<div class="canvas">
<script type="text/javascript">
$(document).ready(function(){
//change the 'baseURL' to reflect the host and or path to your images
FOTO.Slider.baseURL = 'http://ryouchi.up.seesaa.net/photoslider/';
//set images by filling our bucket directly
FOTO.Slider.bucket = {
'default': {
0: {'thumb': 't_0.jpg', 'main': '0.jpg', 'caption': 'Opie'},
1: {'thumb': 't_1.jpg', 'main': '1.jpg'},
2: {'thumb': 't_2.jpg', 'main': '2.jpg', 'caption': 'Trash the Dress'},
3: {'thumb': 't_3.jpg', 'main': '3.jpg'}
}
};
//or set our images by the bucket importer
var ids = new Array(0,1,2,3);
FOTO.Slider.importBucketFromIds('default',ids);
});
</script>
<script type="text/javascript">
$(document).ready(function(){
var ids = new Array(0,1,2,3);
FOTO.Slider.importBucketFromIds('default',ids);
FOTO.Slider.reload('default');
FOTO.Slider.preloadImages('default');
FOTO.Slider.enableSlideshow('default');
});
</script>
</div>
</body>
</html>
【ページURL】
http://ryouchi.up.seesaa.net/photoslider/index.h …
html以外のjsとcssは上記URLから閲覧できます。
調べましたがどうしても分からなくて非常に困っております。
どうかご教授ください。
よろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
ざーっと見ただけですが、「Photo Slider」は、サブネイル画像と本画像を
渡して、画像を表示するスライドショー機能のみたいです。
「Photo Slider」の改造に手出しするくらいなら、jQuery使ってるんだから、
別処理で、ターゲット画像クリック時の関数を別途加えた方が簡単だと思います。
画像はclass="photoslider_main"のDIVに生成するみたいだから
$(".photoslider_main").click(function(){
-----
})
の中で、$(this)の内容から、どの画像が表示されているか調べて、
対応するリンク先にlocation.hrefなりwindow.openするなりすれば
よろしかろうと...
それから、質問者様のコードは何かの間違いかと思いますが、
<div class="canvas">の中にわざわざ2つのスクリプトを分けて
入れて、それぞれに$(document).ready(function(){....});
があるのは、とっても変です。
いってる意味がわからないなら、他のライブラリーを探した方が
賢明でしょう。
この回答への補足
yyr446様
$(".photoslider_main").click(function(){
-----
})
の中身をひとつ埋めてみてくださいませんか?リンク先はダミーでもなんでも構いませんので。
2つのスクリプトの部分は直させていただきました。
どうぞよろしくお願いいたします。
No.3
- 回答日時:
方法は同じですが、とりあえずまとめて定義しておいたほうが使いやすいかと…
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang=ja>
<head><title>test</title>
<link media=screen href="photoslider.css" type=text/css rel=stylesheet>
<script src="jquery.js" type=text/javascript></script>
<script src="photoslider.js" type=text/javascript></script>
</head>
<body>
<div class="photoslider" id="default"></div>
<div class="canvas">
<script type=text/javascript>
<!--
$(document).ready(function(){
var def = {
0: {"thumb": "t_0.jpg", "main": "0.jpg", url:"http://www.yahoo.co.jp/"},
1: {"thumb": "t_1.jpg", "main": "1.jpg", url:"http://www.google.co.jp/"},
2: {"thumb": "t_2.jpg", "main": "2.jpg", url:"http://infoseek/"},
3: {"thumb": "t_3.jpg", "main": "3.jpg", url:"http://www.bing.com/"}
};
FOTO.Slider.baseURL = "http://ryouchi.up.seesaa.net/photoslider/";
FOTO.Slider.bucket = {
"default": def
};
var ids = new Array(0,1,2,3);
FOTO.Slider.importBucketFromIds('default',ids);
FOTO.Slider.reload('default');
FOTO.Slider.preloadImages('default');
FOTO.Slider.enableSlideshow('default');
$(".photoslider_main img").click(function() {
var key, ad, flg = 0, src = $(this).attr("src");
for (key in def) {
ad = def[key]["main"];
if (src.substring(src.length - ad.length) == ad) { flg = 1; break; }
}
if (flg) location.href = def[key].url;
});
});
//-->
</script>
</div>
</body>
</html>
No.2
- 回答日時:
べたべたですが、
$(".photoslider_main img").click(function(){
if($(this).attr("src")=="http://ryouchi.up.seesaa.net/photoslider/0.jpg")
location.href="hoge.html";
});
とか
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
よろしくお願いします。
-
マウスオーバーでリンク先サム...
-
<a href="#" …>の意味を教えて...
-
bodyにidをつける理由は何ですか?
-
JavaScriptからVBScriptの呼び...
-
javascriptからウィンドウを開...
-
ボタンのID名を取得するには?
-
JavaScriptでiframeの内容を「...
-
ウインドウの後ろに隠れている...
-
html メールリンクにて自動ファ...
-
ハイパーリンクに下線を表示す...
-
テキストボックス内にハイパー...
-
JavaScriptが有効ならA、無効ならB
-
別ファイルのfunctionの読み込み方
-
htmlファイルを開いた時の画面...
-
¥マークの検索について
-
マウスクリックした地点のテキ...
-
UAによるリダイレクト
-
iframe内をリロードできますか?
-
スマホ上で、左右スワイプで次...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
<div>のタッチ状態を維持したま...
-
プラグイン無しでContactform7...
-
Base64に変換したHTMLの<script...
-
jqeryのslicksliderのパスにつ...
-
jqueryのcolorboxを読込直後に...
-
Javascriptのエラーに悩まされ...
-
FC2 ブログで動作しない jQuery
-
colorboxの直接呼び出し方法に...
-
base64encodeでの文字化けについて
-
CKeditorについて
-
マウスオーバー+クリカブルマッ...
-
スライド写真で2、3枚目をラ...
-
マスターページでのJavaScriopt...
-
Photo Sliderの画像にリンクを...
-
javaスクリプトについて質問で...
-
nyroModal HEADタグ内の記述に...
-
ASP.NETでAjax通信する際について
-
lightbox2 表示の不具合
-
mootoolsとjQueryの共存がうま...
-
IEだけjsファイルを読み込まな...
おすすめ情報