JS:履歴に残らないページ移動
2011.11.16
リンクをクリックしてページ移動をする際、
通常のリンクでは履歴が残り、ブラウザの「戻る」が有効になります。

iframe内のページを切り替える場合も同じで、
履歴に残るため「戻る」を押すとiframe内のページが戻ります。

今回はiframe内では戻るを使えないようにしたかったので、
履歴に残らないようなページの切り替えを探しました。

JSで以下のように書くことで、「戻る」の効かないリンクになります。


<a href="test.html">リンクです</a>
 ↓
<a href="test.html" onClick="JavaScript:location.replace('test.html'); return false;">リンクです</a>
※2011/11/24 ソースを修正しました

URLを2箇所に書く点に注意です。
| コメント(0)
JS:ブラウザサイズを取得する
2011.11.09
最近使うことが多いJSです。
ページ表示時とブラウザサイズ変更時に
ブラウザのサイズを取得する簡単なものですが、
シンプルなのでいろいろと応用することができます。

---- <head></head>内 -----------------------------------------------------

<script type="text/javascript">
var ua = navigator.userAgent.toLowerCase();
var bIE = (ua.indexOf("msie")>=0);

function resize(){
var w, h;

if(bIE){
w = document.documentElement.clientWidth;
h = document.documentElement.clientHeight;
}
else{
w = innerWidth;
h = innerHeight;
}
//ここに行わせたい処理を書く!
//例)document.getElementById("mainbox").style.width = w - 300 + "px";

}

if(bIE){
window.attachEvent("onload", resize);
window.attachEvent("onresize", resize);
}
else{
window.addEventListener("load", resize, false);
window.addEventListener("resize", resize, false);
}
</script>
--------------------------------------------------------------------------

上の例では"mainbox"というidの付いたdivなどの"width"を、
「ブラウザの横幅 - 300px」のサイズに変更しています。
(赤文字の箇所に書く限り、w をブラウザ横幅、h をブラウザ縦幅として使えます)

他のJSと組み合わせてフルブラウザにしてみたり、使い道は多そうです。
| コメント(0)
画像やテキストをボックスの縦中央に揃えるJS
2011.10.19
ボックス内の要素を縦中央に揃えたい、ということは良くあると思いますが、
CSSではなかなか実現しにくいことだったりします。
(できなくはないけれど条件が厳しいとか、好ましくないタグが必要だとか)

そんな縦揃えの方法の1つとして、こちらで公開されているJSがあります。

tableを使わずにvertical-align:middle;を再現。ボックス内の画像(img)中央配置をjQueryで頑張ってみた


こちらのJSですが、

・ボックスの width、height が決まっている
・中の要素が img もしくはブロック要素

という条件で要素を縦中央に揃えることができるようです。


使用方法も詳しく説明されています。

組み込む際は、<head>内に記述する下記JSを修正することも忘れずに。

--------------------------------------------------------------------------------------------

<script>
$(window).bind('load',function(){
$(".vBox img").vAlign(); // 垂直水平位置を揃えたい画像を指定
});
</script>

--------------------------------------------------------------------------------------------


3行目で中央揃えを適用させたい要素を指定します。
demoデータでは<img>タグにのみ適用していますが、
たとえば<p>タグにも適用する場合は

--------------------------------------------------------------------------------------------

$(".vBox img, .vBox p").vAlign(); // 垂直水平位置を揃えたい画像を指定

--------------------------------------------------------------------------------------------


という感じで追加すればOKです。


枠のサイズさえ決まっていれば使えるため、お世話になる場面は多そうです。
| コメント(0)
Fancybox(ver.1)で設定できるオプションまとめ
2011.10.05
LightBox風に画像やswf、webページなどのコンテンツを表示できる
jQuery Pluginの1つとしてFancyboxがありますが、
オプションを日本語でまとめているサイトが見当たらなかったので
自分用に翻訳してみたものをメモしておこうと思います。

(2016.7.19) 訳せてないものは原文入れました。

以下、すべてではないですが(おまけに空白もあります)
このようなオプションがあります。

オプション デフォルト値 説明
'padding' 10 枠の幅
'margin' 20 枠の外側の余白。
表示するコンテンツがウインドウより大きい場合、この幅を確保して縮小されます。
'opacity' false When true, transparency of content is changed for elastic transitions
'modal' false true にすると、'overlayShow'→ true、'hideOnOverlayClick', 'hideOnContentClick', 'enableEscapeButton', 'showCloseButton'→ talse になります
'cyclic' false ギャラリーの一番端でNext/Backボタンを押した時にループするか
'scrolling' 'auto' スクロールバーの有無(auto/yes/no)
'width' 560 コンテンツの幅(iframe、swf時)
'height' 340 コンテンツの高さ(iframe、swf時)
'autoScale' true ビューポートに収まるようにスケーリングするか。
'true'の場合、表示するコンテンツがウインドウより大きいと自動的に縮小します。(画像だと無効?)
'autoDimensions' true For inline and ajax views, resizes the view to the element recieves. Make sure it has dimensions otherwise this will give unexpected results
'centerOnScroll' false コンテンツを常に中央に表示するか
'ajax' { } Ajaxオプション
'swf' {wmode: 'transparent'} SWFオブジェクトのparams設定
'hideOnOverlayClick' true オーバーレイ部分をクリックした時にfancyboxを閉じるか
'hideOnContentClick' false コンテンツをクリックした時にfancyboxを閉じるか
'overlayShow' true オーバーレイの有無
'overlayOpacity' 0.3 オーバーレイの不透明度
'overlayColor' '#666' オーバーレイの色
'titleShow' true タイトルの表示/非表示
'titleFormat' null Callback to customize title area. You can set any html - custom image counter or even custom navigation
'titlePosition' 'outside' タイトルの位置(outside/inside/over)
'transitionIn'
'transitionOut'
'fade' 開閉時の動き(fade/elastic/none)
'speedIn'
'speedOut'
300 開閉時のスピード
'changeSpeed' 300 ギャラリーでコンテンツを切り替えた時のサイズ変更スピード
'changeFade' 'fast' ギャラリーでコンテンツを切り替えた時のフェードスピード
'easingIn'
'easingOut'
'swing' アニメーションに使用するイージング
'showCloseButton' true クローズボタンの有無
'showNavArrows' true ギャラリーでNext/Backボタンを表示するか
'enableEscapeButton' true Escボタンを押した時にfancyboxを閉じるか
'onStart' null Will be called right before attempting to load the content
'onCancel' null Will be called after loading is canceled
'onComplete' null Will be called once the content is displayed
'onCleanup' null Will be called just before closing
'onClosed' null Will be called once FancyBox is closed

Advancedオプション 説明
'type' コンテンツタイプ。'image' 'ajax' 'iframe' 'swf' 'inline' が設定できます。
'href' コンテンツのURL。HTMLのhref=""で設定したものよりも優先されます。
'title' コンテンツのタイトル。HTMLのtitle=""で設定したものよりも優先されます。
'content' コンテンツの内容。任意のHTMLデータを入れることができます。
'orig' Sets object whos position and dimensions will be used by 'elastic' transition
'index' Custom start index of manually created gallery (since 1.3.1)

| コメント(4)
IE6で透過PNGを使うためのJSまとめサイト
2011.03.23
もうそろそろIE6対策の記事を書くことが減ってほしいものですが、
やはりまだ対応しなければならないのが現状です。

IE6で透過PNGを使う際のJSですが、
今まで使っていたものが諸事情により使えなかったため
別のJSを探していたところ、
各種JSをとてもわかりやすくまとめてくださっているサイトがありました。

ITキヲスク | IE6で透過pngを表示させるオススメscript、「DD_belatedPNG.js」

オススメされている DD_belatedPNG.js 以外にも、
各JSの特徴や注意点などがまとめられていて参考になります。

とりあえずメモでした。
| コメント(0)

月別アーカイブ