how-to-order_1

お客様からレイアウトが崩れるというクレームがあって、IE7、IE8、Firefox、Chromeで調べてみたんだけど、こっちでは全然再現せず。
打合せのついでに訪問して確認してみたら、確かにずれてる。

how-to-order_2

でも、なんか字が大きくて変だ。
IE8の設定(ツール ≫ インターネットオプション ≫ ユーザー補助)を確認したら『Webページで指定されたフォントサイズを使用しない』になってた。orz…
でも、お客様がわざわざこれを設定してるということは、一般的なWebサイトの字が小さくて見ずらいということだろうから、うちのサイトを見るときだけ設定変えてくれというわけにもいかず。


if (jQuery("#notice a").attr("offsetHeight") > 15) {
  jQuery("#notice").css("left", "670px");
}

苦肉の策でこうしました。
#noticeブロックは position absoluteで配置してあるので、#notice aの文字の高さがCSSで設定した高さ(ling-height:14px)を超えているようなら、もう少し左から書くようにすると。
こうやっても、表示の文字サイズを大とか最大とかにされると同じようになるんですけど、それは自分で調整可能なので。
(あと、ちゃんとやるなら、offsetHeightの値から文字サイズを判定して、leftを変えればいいんですけど、とりあえずはこれでOK)

Custom Field Template plugin
スーパーつぼ(にはまる)。いままで存在を知らなかったのが恥ずかしいくらい。ぼつぼつ使っていきます。
 
WordPress とFlashを連携させたい(入力編)
上のやつの簡単な解説。
 
[WordPress] プラグインを作ろう(2) 独自のカスタムフィールドを追加する
参考になりそうなのでメモ。
 
Fun With Plugins
  ウィザード形式でプラグイン名など必要事項を入力していくだけで、WordPressのプラグインとしての骨格を作ってくれるプラグイン。
 
WordPressでサイト構築して便利だったプラグイン
ここ、いろいろとまとまってて便利。
 
SEO的アイディア(妄想)
WPのプラグインとして実装。複数ブログへの投稿。<p>単位でのランダマイズ。時事ニュースを自動挿入。meCabでの形態要素分解。oAuth認証。XML-RPC、Atom投稿でのポスト。リモート投稿できない場合は、メール投稿 ≫ スクレイピングによる自動ログイン・投稿。自分以外にニーズがあるとも思えないが、ドネーション・サポートソフトウェアというのはどうだろうか?

最短一致について
正規表現で最長一致じゃ困るときの対処。?を使う。/SELECT(.+?)FROM/i
 
PHP による日付・時刻・時間の計算・演算のまとめ
『2つの日付の差(何日間あるか)を求める』。mktime(0, 0, 0, $month1, $day1, $year1)の引数の順番にイラっと来た。
 
preg_match — 正規表現によるマッチングを行う
つい、忘れがちなので。
 
sprintf — フォーマットされた文字列を返す
ゼロ・パディングするのに本当にこれしか方法がないのかよ、と思う。

list-style-imageに設定した画像と文字がずれて気持ち悪いときがありますよね。
でも list-styleでは微調整ができなくて、「ああ、こんなもんか」と思うだけなんですけど、そういうときは backgroundでやったらどう?ということです。


ul {
  list-style-type:none;
}
li {
  background:url(images/sankaku.gif) left no-repeat;
  text-indent:10px;
}

こんな感じです。それだけですけど、なにか?

WordPress 2.9 以降、動画・画像・その他のコンテンツを WordPress サイトに埋め込む(embed)のがとても簡単になりました。』だそうです。
 

この動画を見てみて!
すごいでしょう?

URLを素で書くと、それをそのまま embedしてくれるそうです。(まだ使っていないので未確認)
 
こっちも新機能。『WordPress 2.9 の新機能の投稿サムネイル画像の使い方
これは少し使ったことがあります。自分では使わないと思うけど、WordPressだけで完結するのはいいかもね。
 
サムネイルを作ってくれるプラグイン『Regenerate Thumbnails
あってよかったという感じ。以前は自分でリサイズしてたよ。
 
WordPress の勝手な文字変換を無効にするプラグイン』も重宝します。
 
これ、重要!。
WordPressページを表示する際のテンプレートの順番

  1. 選択したカスタムWordPressページテンプレート
  2. page.php
  3. index.php

jCarousel Liteでカルーセル(縦横スライド)してるとき、スライドする要素を入れ替えたいなと。
 

<div class="carousel">
  <div class="jCarouselLite">
    <ul>
    <li><img class="c1" src="images/thumb-01" /></li>
    <li><img class="c2" src="images/thumb-02" /></li>
    <li><img class="c3" src="images/thumb-03" /></li>
    </ul>
  </div>
</div>

 
普通、こんな風に書きます。(idとclassは普通付けませんが説明のため便宜的に付けました)
この<li>要素をこういう風に書かないで、投稿のカテゴリ一覧から取ってきて、動的に突っ込むのはどうだろうということです。(最初の<ul>は空っぽということですね)
 


jQuery("#xxx").append("<li><img src='images/thumb-04' /></li>");

 
こうして appendすると確かに要素としてはアペンドされてるっぽいんですけど、アペンドされた内容がカルーセルしません。
じゃあ、最初に必要な分だけ並べておいて、srcを書きかえればいいじゃん、ということで、
 


jQuery("#i1").attr("src", "images/thumb-04");

 
こうやってみましたが、うまくいきません。正解はコレ!
 


jQuery("#c1").attr("src", "images/thumb-04");

 
jCarousel Liteのコードを読んでみるとわかるんですが、サーキュラー(くるくる回る)のときは、<li>要素をクローンしているんですね。
 

if(o.circular) {
ul.prepend(tLi.slice(tl-v-1+1).clone())
.append(tLi.slice(0,v).clone());
o.start += v;
}

 
だから、idでソースを指定してもクローンされる前のソースが書き変わるわけではないのでダメ、なのかな?
クラス指定だったら、元のもクローンのも全部書き変えちゃうからOKね。
appendがダメなのは、クローンされる前に appendできないからだろうか。jCarousel Liteより先に appendしてるつもりなんだけど、難しいね。
 
参考:jQuery でoption要素を追加した際の諸問題