CrossSlide フェード効果のスライドショー JQuery
写真をフェードさせながらスライドショーするjs、『CrossSlide』のご紹介です。
『CrossSlide』はJQueryプラグインでとても簡単に実装出来ます。
Flashを作るのはちょっと面倒な時とか、予算的に厳しい時にも役に立つと思います。
CrossSlideデモ、配布サイト
当サイトのトップページにも使用例があります。
さて、同じようなことをFlashではなく『CrossSlide』でするメリットは、
- 写真を用意するだけで簡単にスライドショーができる。
- 写真の差し替えが簡単に出来る。
- 写真枚数の変更が簡単。
- 写真にリンクを指定出来る。
デメリットは、
- パソコンのスペックが良くないとカクカクする。
- JavaScriptがオフだと見れない。
と今簡単に考えただけですが、Flashではない強みと弱みがあります。
続きを読む »
Flashの場合写真を差し替えたり、枚数を増やしたりする場合は、その都度Flashのドキュメントファイルを編集しなければいけませんが、『CrossSlide』は画像を上書きするか、jsファイルの一部を書き換えるだけで簡単に実現出来ます。この辺は写真の差し替えを頻繁にしたいサイトの場合、かなりメリットになりそうです。しかし動きがパソコンのスペックに左右されるので、その部分が導入するか否かのネックになって来そうです。
導入手順1
まず、『CrossSlide』よりjquery.cross-slide.jsをダウンロードします。
ダウンロードリンクはページの一番下にあります。
任意のディレクトリにjquery.cross-slide.jsをアップし、
htmlの<head>〜</head>に下記を追記します。
<script src="jquery.cross-slide.js" type="text/javascript"></script>
導入手順2
任意のディレクトリを作りそこに画像をアップロードし、
htmlの<head>〜</head>に下記を追記します。
<script type='text/javascript'>
$('#test1').crossSlide({
sleep: 2,
fade: 1
}, [
{ src: 'img/001.jpg' },
{ src: 'img/002jpg' },
{ src: 'img/003.jpg' },
{ src: 'img/004.jpg' }
]);
</script>
続いて<body>〜</body>内のスライドショーを表示させたい部分に下記を追記。
<div id="test1">Loading...</div>
青色の文字の部分が上のJavaScriptで指定したidになるようにします。以上で画像がクロスフェードする単純な動作はします。「Loading...」は読み込み中や、javascriptがオフの時に表示されます。テキストではなく適当な画像を入れておけば、javascriptがオフの時にもレイアウトが崩れません。
エフェクト
さらに動きに変化を加えることも出来ます。
デモ3参照
<script type='text/javascript'>
$('#test3').crossSlide({
loop: 1,
fade: 1
}, [
{
src: 'lib/sand-castle.jpeg',
href: 'http://flickr.com/photos/spacetrucker/94209642/',
from: '100% 80% 1x',
to: '100% 0% 1.7x',
time: 3
}, {
src: 'lib/sunflower.jpeg',
href: 'http://flickr.com/photos/hichako/1125341449/',
from: 'top left',
to: 'bottom right 1.5x',
time: 2
}, {
src: 'lib/flip-flops.jpeg',
href: 'http://flickr.com/photos/jayniebell/1125216143/',
from: '100% 80% 1.5x',
to: '80% 0% 1.1x',
time: 2
}, {
src: 'lib/rubber-ring.jpeg',
href: 'http://flickr.com/photos/ruminatrix/1125292682/',
from: '100% 50%',
to: '30% 50% 1.5x',
time: 2
}
]);
</script>
loop:で回数を自由に指定出来ます。loop: 1,とするとスライドショーが一回で止まります。
fromが開始位置、toが終了位置、timeがスピードです。
尚、開始位置、終了位置はcssと同じように解釈されるということです。
またhrefを加えることで写真一枚一枚にリンクを設定出来ます。
« 元に戻す
簡単に設置出来る高機能なツールチップ BoxOver
簡単に設置出来るのに高機能なツールチップ「BoxOver」をご紹介します。
デモページ
続きを読む »
設置するには「BoxOver」をダウンロードして<head>〜<head>内に以下を追加します。
<script type="text/javascript" src="boxover.js"></script>
あとはツールチップを表示したい場所にtitle属性を追記するだけです。
本文はbody=[任意のテキスト]とすることで表示されます。
上の枠にタイトルを表示させたい場合はheader=[任意のテキスト]を追記します。
フェード表示させたい場合はfade=[on]を追記。
例
<a href="#" title="header=[任意のテキスト] fade=[on] body=[任意のテキスト]" >サンプル</a>
その他のオプションはこちらのサイトが詳しく解説されています。
デフォルトのまま使用したらツールチップ内のテキストがセンタリングされてしまったので、boxover.jsをテキストエディタで開いて48行目〜60行目までの間にdvBdy.style.textAlign="left";を追加しました。
function defBdyStyle() {
dvBdy.style.borderBottom='1px solid #A5CFE9';
dvBdy.style.borderLeft='1px solid #A5CFE9';
dvBdy.style.borderRight='1px solid #A5CFE9';
dvBdy.style.width='150px';
dvBdy.style.fontFamily='arial';
dvBdy.style.fontSize='11';
dvBdy.style.padding='3';
dvBdy.style.color='#1B4966';
dvBdy.style.background='#FFFFFF';
dvBdy.style.textAlign="left";
dvBdy.style.filter='alpha(opacity=85)'; // IE
dvBdy.style.opacity='0.85'; // FF
}
divでもaタグでもimgタグでも簡単に表示することが出来るので良いですね。
« 元に戻す
Mootoolsで使用可能なLightboxスクリプトいろいろ
Mootoolsで使用可能なLightboxスクリプトをまとめました。
ImageZoom
読み込まないままウィンドウが開くことがある(バグ?)
続きを読む »
Prototypeで使用可能なLightboxスクリプトいろいろ
Prototypeで使用可能なLightboxスクリプトをまとめてみました。
Control.Window
色々カスタマイズ出来そうですが敷居が高そうですね。
続きを読む »
jQueryで角丸なLightBoxクローンprettyPhoto
デモサイト
LightBox系エフェクトには色々と種類がありますが、prettyPhotoは可愛くていい感じです。まずデザインが角丸になっていて、LightBoxよりも色々なデザインのサイトに合いそうです。
実装は簡単。
続きを読む »
まずこちらのサイトからファイルをダウンロードしてきます。
Uncompressed version (Script: 18.5kb / CSS: 6.8kb)
Compressed version (Script: 8.2kb / CSS: 5.8kb)
と二つありますが、Compressed versionは圧縮してあるバージョンということです。
Uncompressed versionではjquery.prettyPhoto.jsを開くとjavascriptが読めますが、
Compressed versionでは圧縮されよく分からない文字列になっています。
軽い方がいい方は圧縮してある方を使うといいでしょう。
<head>~</head>内に以下を追記します。
<script src="js/jquery.js" type="text/javascript" charset="utf-8"></script>
<link rel="stylesheet" href="css/prettyPhoto.css" type="text/css" media="screen" title="prettyPhoto main stylesheet" charset="utf-8" />
<script src="js/jquery.prettyPhoto.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript" charset="utf-8">
$(document).ready(function(){
$("a[rel^='prettyPhoto']").prettyPhoto();
});
</script>
次に画像に対してリンクを貼ります。
<a href="images/fullscreen/1.jpg" rel="prettyPhoto" title="Description">
<img src="/images1.jpg" alt="Picture 1 title" />
</a>
title="Description"を入れると上部にaltで入れたタイトルが表示されるようです。
rel="prettyPhoto[gallery]"に変更すると複数の写真をギャラリーに出来るようです。
« 元に戻す