ぼんずーず
IE8でtableのtrをjqueryのtoggle()ができない
- 2011-02-26 (土)
- カテゴリ:javascript | jquery

効かないです。
原因や対策はこちらで紹介されていますが英語です。
table - jQuery .toggle() not working with TRs in IE - Stack Overflow
こちらで同ページを日本語で詳しく解説されています。
[jquery]IE8でtrに.toggle()が効かない - maxfactory | Flash lite(携帯Flash)、Flex、widgetなどの技術メモ
内容は,
HTML
<a id="readOnlyRowsToggle">Click</a> <table> <tr><td>row</td></tr> <tr><td>row</td></tr> <tr class="readOnlyRow"><td>row</td></tr> <tr class="readOnlyRow"><td>row</td></tr> <tr class="readOnlyRow"><td>row</td></tr> </table>
SCRIPT
$(document).ready(function() {
$(".readOnlyRow").hide();
$("#readOnlyRowsToggle").click(function() {
$(".readOnlyRow").toggle();
});
});
がie8だと動かないぞってことで
解決策は
$(classname).toggle();
を
var elem = $(classname)[0];
if(elem.style.display == 'none')
$(classname).show();
else
{
$(classname).hide();
}
にしたら動いたよと。
で,元エントリーのコメントが追加されていたので紹介します。
その1
elem.style.display
は
elem.css('style')
の方が良いよ
とのことでした。
そのまま書き換えてIE8で試したら
メッセージ: オブジェクトでサポートされていないプロパティまたはメソッドです。 ライン: 193 文字: 4 コード: 0 URI: http://xxxx
とエラーが出たのでコメントの真意は分からないです。
私の書き方が悪いのかも。
なんで動かないのか気になったので色々試したところ
elem.css('style')
の
elem
が
$(classname)[0]
なのでオブジェクトになっていないのかなと思い
$(classname + ':first')
にしたら
if(elem.css('style') == 'none')
で正常に判定できました。
コメントの投稿者はjqueryのオブジェクトを扱っているのだから
DOMのstyle オブジェクトである .style ではなくて
jquery のセレクタである .css を使いましょーよ
ってことだったのではないかと思いました。
その2
var elem = $(classname)[0];
だとtoggleしたい要素の最初の1つ目にしか効果ないのでは?
これに対して返信は
$(classname)[0]
はで同一のクラスの要素の1個目で display=’none’ かどうかの判定を行っているだけで
toggleの動作自体は複数要素に適用されますよ。
その3
これは同エントリーのコメントではないのですが,
var elem = $(classname)[0];
if(elem.style.display == 'none')
$(classname).show();
else
{
$(classname).hide();
}
これだと.clickイベント発生時に
$(classname)の要素が1つもない場合にエラーが出るので
var elem;
if(elem = $(classname)[0]){
if(elem.style.display == 'none')
{
$(classname).show();
}else
{
$(classname).hide();
}
}
にすると上手く動きました。
これに,上記のstyleの取得に関するコメントを考慮すると
var elem;
if(elem = $(classname + ':first')){
if(elem.css('display') == 'none')
{
$(classname).show();
}else
{
$(classname).hide();
}
}
になりました。
これでIE8でもtableのtrをtoggleできます!
zen cart 1.3.8メモ(2) クラスとか設定とかの初期処理
- 2011-02-23 (水)
- カテゴリ:zen-cart

自作したクラスとか設定ファイルを最初に読み込ませり実行させたいときのzencart的お作法。
流れ
(index.php以外は includes ディレクトリ内のお話)
index.php -> application_top.php
が呼ばれる
application_top.php -> initsystem.php -> auto_loaders/configure.core.php
が呼ばれて
application_top.php -> autoload_func.php
内で読み込み,実行されます。
少し詳しく
configure.core.phpで
$autoLoadConfigという配列で
初期化処理の設定を行います。
require
include
や
classファイルの読み込み,インスタンスの作成など
指定できます。
その後
includes/autoload_func.php
にて実際の初期化処理が行われます。
設定記述や処理の詳しい内容は
このincludes/autoload_func.phpを読むと分かります。
作成した各クラスのインスタンスに
個別に初期処理を行わせたい場合は
includes/init_includes 以下に初期処理用ファイルを作成しておき,
configure.core.phpにて
‘autoType’=>’class’ で読み込み
‘autoType’=>’classInstantiate’ でインスタンス作成
‘autoType’=>’init_script’ でお好きな処理
を順次指定して実行させます。
oscommers MS2.2から触ってるのですが
このapplication_top.phpの進化がすごいです。
成長したな~~て感じ。
- タグ: zen cart
zen-cart 1.3.8 メモ(1) メインページの商品リストの並び替え
- 2011-02-22 (火)
- カテゴリ:zen-cart

メインページの新着情報とおすすめ商品を並び替え。
設定画面が分からなかったのでindexの表示ファイルを覗いてみる。
ファイル
/includes/templates/テンプレート/templates/tpl_index_default.php
61行目
$show_display_category = $db->Execute(SQL_SHOW_PRODUCT_INFO_MAIN);
で
while (!$show_display_category->EOF) {で順番に処理している。
}
$show_display_categoryがどうなっているか見てみたいのでsql文「SQL_SHOW_PRODUCT_INFO_MAIN」を表示させてみると
elect configuration_key, configuration_value from configuration where configuration_key RLIKE 'SHOW_PRODUCT_INFO_MAIN' and configuration_value > 0 order by configuration_value
てなことになっている。
つまり,configuration テーブルから, configuration_key が
SHOW_PRODUCT_INFO_MAIN~~~になっているものを
configuration_value順に取得して,表示している。
phpmyadmin で configurationテーブルを configuration_key 順に並べ,
SHOW_PRODUCT_INFO_MAIN~~ を探すと,
SHOW_PRODUCT_INFO_MAIN_NEW_PRODUCTS
SHOW_PRODUCT_INFO_MAIN_FEATURED_PRODUCTS
があったので configuratioin_value を 表示したい順に設定すると,トップページに反映されました。
ついでに,どこで設定するのか調べました。
管理画面::一般設定::商品カタログページの設定
の中に
新着商品をメインページに表示する
おすすめ商品をメインページに表示する
があるので,この設定値の数値で並び替えが出来る。
- タグ: zen cart
c++ 入門 メモ
- 2011-02-18 (金)
- カテゴリ:c++

環境
windows XP で メモ帳で始めてみる。
処理系の入手と設定
Borland c++ にしました。
Borland C++ Compiler 5.5のインストール
Borland C++ Compiler 5.5日本語版のインストールの方法
こちらを参考に
1.インストール
2.パスを通す
3.cfgファイルの作成
を行いました。
hello.cppからクラスの作成まで
C++入門
こちらの内容に沿って
入門1~入門5までで
文字列の出力
文字列の入力
変数
データ型
関数
クラスの作成
オブジェクトの生成
を学びました。
雑感
PHPと比較して色々感じたこと
・PHP5.3でやっと実装された名前空間が
C++で初めて書くスクリプトの3行目で出てくるのが衝撃
・public privateの使い分け
省略すると自動的にprivateになる
・オブジェクトのデータを変えないメンバ関数を const 定義
・文字列を ‘シングルクォテーションで囲ったらコンパイル時にエラー出た
・クラス定義内に関数を書くと
インライン関数
と言われ,関数を使う場所それぞれに処理を書き込んでしまう(コンパイル時)ので
通常はクラス定義外に書くらしい。
インタプリタ言語では意識したことなかったけど,言われてみればそうだと思った。
PHPのクラスでは上記と同様の配慮は要らないものなのかと気になった。
メソッドはクラス定義内に書かなくてはならないのは
インスタンス作成してメソッドにアクセスするときに効率悪いことになってるのではないかとか
そんな心配。
コンパイルしなくて良いというのは色んな意味で贅沢なんだなと感じた。
・ 関数とか引数どころか
= の代入演算の説明より先に
クラスを作成し終わってるというのはつくずくオブジェクト指向な言語だと感じた。
PHP入門時は
変数
定数
配列
関数
内部関数
言語構造
演算子
制御構文
上記を一通り使えるようになってから
クラスでオブジェクトを扱うようになると思う。
「= は数学の等号ではなく,代入ですよ」なんてのはPHPだと最初の変数のところでやるわけだが,
cppではそれ以前にクラスを書いている。
centOS5.5にMT5をインストール メモ
- 2011-02-02 (水)
- カテゴリ:ちょっと一言

movabletypeをとりあえずインストールしてみたメモ
結果はcpan でのモジュールインストールに失敗しましたが
オプションのモジュールなので,機能に制限がかかるもののインストール及び利用に問題はない様子。
原因とか対策は未調査です。
以下詳細。
perl動かすの初めてなのでとりあえず
/user/local/bin/perlなスクリプト対応のため(?)シンボリックリンクを作成
# ln -s /usr/bin/perl /user/local/bin/perl
http://localhost/mt_installed/
ブラウザから実行するとcgiのファイル内容がそのまま表示される。
httpd.confを開き
AddHandler cgi
のコメントアウトを外してみる
ブラウザに戻ると
movabletypeインストール画面に進めた
必要なモジュールはそろっているがオプションのモジュールは含まれていないと言われる
せっかくならモジュール完備で動かしてあげたいので
同ページからリンクの張られているperlモジュールのインストール方法に書かれている
# perl -MCPAN -e shell
を実行する。
設定を自分でするなら yes/ 勝手にやってよいならnoと言われるので
めんどいので no
設定が終わったようで
try ‘install Bundle::CPAN’
と書いてある。
「適当に見繕っておきましたよ!」的なコマンドと認識したので
実行する。
途中で何度か入力待ちで止まっていたりしたのと,
とにかく大量にダウンロードしてインストールしている様子で
20分くらいかかった。
ブラウザに戻りmovabletypeのインストールをやりなおす。
と,オプションのモジュールが見つかりませんが
予測に反して大量に残っている。
Bundleでほとんど入ったものと思ったのに・・・。
コンソールに戻りオプションのモジュールinstallする。
install GD
と
install Image::Magick
失敗する。
とりあえずMTいじりたいので
そのまま続行してみる。
データベース接続は問題なしで,インストールが完了し,新規ページを投稿しフロント側の表示を確認して終了。
多分続く。
- タグ: cpan, movabletype and perl
dojo toolkit1.5 dijit.form.combobox
- 2011-01-25 (火)
- カテゴリ:javascript

dojoのtoolkitのselect 用widjetにコンボボックス(combobox)という便利なものがあります。
テキストボックスとプルダウンが一緒になったもので,ブラウザやその他アプリケーションなどで良く使われていると思いますが,javascriptでも作れます。
selectのoptionをそのまま用意して使うだけなら簡単なのですが,
候補を動的に取得しようとした際にすこしつまづいて調べたので
お世話になったページを以下にメモします。
公式
http://dojotoolkit.org/api/dijit.form.ComboBox
古いのでこのままは使えないけど初めてでイメージつかむならこちら
http://ymdmstk.cocolog-nifty.com/blog/2007/07/post_6837.html
1.5でサンプル掲載している方はこちら
http://www.p88q.net/j/s_d=combobox.html
詳しいコードとサンプル
JSONあまり詳しくなかったので
ここのサンプルのソース覗いてやっと動かせました
http://docs.dojocampus.org/dijit/form/ComboBox
MongoDBメモ
- 2010-12-25 (土)
- カテゴリ:ちょっと一言

Totsy(Lithium使用Eコマースサイト)構築時MongoDB E-Commerce Case Study動画
http://www.10gen.com/video/mongoboston2010/totsy
RoR IDE
- 2010-12-19 (日)
- カテゴリ:Ruby

NetBeansにすることにしました。
このあたりから
http://netbeans.org/features/ruby/index_ja.html
触ってゆく予定。
- タグ: Ruby on Rails and web開発
Python webフレームワーク
- 2010-12-19 (日)
- カテゴリ:Python

Python始めました。
ついでにPythonでのwebフレームワークを少し調べました。
最軽量 web.py | Juno | bottle
国産軽量 rayphe http://inforno.net/articles/2009/07/24/raphe
・Zope
1998年開始
10年以上前からオープンソースのwebフレームワークとして
開発が続けられている。
現在はZope3
・TG
TurboGears 割と人気? 20minWIKIは観ました
後発で色々な技術を取り入れている
・Django
あまりおすすめでない?
・Pylons
これから始めるならこれ という声が多い
http://pylonshq.com/
TGより複雑だが柔軟 TGと合流する といった情報も
=* =* =* =* =* =*
現状でのメモ
WSGIがよく分からないので
どこで動くのかまだよく分からない(運用環境
RoRをもう一度触って検討してみないといけないなーと
思いました
とりあえず,このあたりから進めてゆこう
http://wiki.python.org/moin/BeginnersGuide/Overview
IEの404がmybrowserbar.comに転送される場合の解決策
- 2010-12-13 (月)
- カテゴリ:便利メモ

Internet Explorerで404(ページが見つからなかった場合)で勝手に
mybrowserbar.comという広告付きのページに転送される。
Oops! This page appears broken. HTTP 404 - File not found.
それだけなので害はないのだが
例えばURL直打ちでローカルのページ表示したいなんてときも
1文字間違えるとここに転送されちゃう。
開発環境でこれをやられるとものすごく面倒くさい。
通常であれば,その間違えた1文字を直すだけで正しいページに行けるのだけど,
リダイレクトされちゃってるのでURLを最初から打ちなおさないとならない。
それ以前に,挙動が気持ち悪い,というか100%マルウェアなので
とにかく除去したい。
と思ったのはかれこれ半年以上(1年くらいかも?!)まえで,
当時は解決方法を検索しても出てこなかった。
どこぞのフォーラムに
「OS再インストールしかない」
とか
「とにかく面倒くさい,性質が悪い」
といったやりとりが2~3件あるだけだった。
そして,ついさっき調べてみたらたくさん記事になっていたので
解決。
(原因)
PDFCreatorというフリーソフトをインストールする際に
PDFforge toolbarというのが一緒にインストールされるらしくて,
この Oops! 機能もここにくっついてくるらしい。
(除去)
プログラムの追加と削除から
PDFforge toolbar
もしくは
Search settings 1.2.2
をアンインストールすればOK!
ちなみにPDFCreatorを使いたいという方は
インストール時に
最初の確認で
Set Yahoo as my default search engine …
というチェックを外して,さらに次の確認の
Custom Installation の2つめのPDFCreator Browser Add on for Internet Explorer
のチェックを外してインストールすると
この厄介な機能を免れた状態でPDFCreatorを使えます。
参考
http://www.enghiong.com/remove-mybrowserbar-from-my-browser.html
http://www.imgreenbook.com/2010/01/how-to-remove-mybrowserbar-from-ie.html
- タグ: マルウェア
- タグクラウド
- 911 98 Acl add on ADSL ajax android apache api apxs bake bash bind borland BSE c++ cakephp centOS centOS5 centos6 chrome chroot clamav combobox configure cpan css css3 ctp curl C言語 database db dns dojo dom dos dovecot dreamweaver ECCUBE eclipse EM Excel exec php favicon firefox firewall git html http httpd ids IE8 iptables ipマスカレード java javascript jquery json lan lightbox linux Lithium mailserver make mbr model mongoDB movabletype mozc mysql nec nic oscommerce password pbr pbs pci pcre PDF pear perl php php4.3.9 php5.2 php5.3 phpexec phpのエラーコード plugin pop3 postfix pppoe Python ruby Ruby on Rails sftp simpletest SMAP Smarty smtp snort SPAM sql sqlite ssh sugarsync svn Synergy TCP/IP toitoiseSVN tripwire ubuntu uml validation vim vimperator VMwarePlayer vnc vps web webmin web開発 windows windowsXP wine Word wordpress xampp xml zen cart zen coding androidアプリ えひめAI くしゃみ さくらvps ひかり ひかり接続 アキヒト アンチウィルス イカ インデックス エコ エラー オリンピック カスタマイズ カスタムフィールド カタカナ キーワードEYE シェルスクリプト シュレッダー ジーオーグループ スクリプト セキュリティ センター直前 ソルトレイク タコ ダイアルアップ ダウンタウン ツール テレビ テレホーダイ テロ デバッグ デュアルブート データサルベージ ネットショップ ネットワーク ハイライト バイク バックアップ バッファオーバーフロー バージョン切り替え バージョン管理 ファイル共有 フリーズ ブックオフ プラグイン プリンタ プログラミング プーチン マイケルジャクソン マコーレ・カルキン マルウェア メモ メール リキッドレイアウト リサイクル リビルド リポジトリ レイアウト レンタルサーバー 不満 事故 人生 仮想化 再生紙 別れ 加圧式ボールペン 参考サイト 受験 哲学 変数 夏 夏目漱石 夢十夜 家族 島谷ひとみ 怠惰 怪奇 感謝 技術メモ 文字 文字コード 料理 旅 楽天API 正月 歯痛 焼き豚 牛肉 犬 理科年表 環境問題 生きる 画像 示談金 視覚 言葉 透過 開発環境 降水量 雨 青画面 風邪 飲みすぎ google
- 検索
- Feeds
- Ads