bootstrap ドロップダウンメニューがパネルの下に隠れてしまう件
z-indexも効かず、1時間はまったので(いや正確には昨日の夜これが分からなくてそのまま寝てしまったので実際は4時間は無駄にした。でもそのおかげで睡眠がとれたから±2時間のマイナスとしておこう。と思ったけど本当はその後8km走るはずだったし損失はそこそこ多い。時間ではなく逸失利益で考えると5~10万は損をしたはず。とにかく忘れないように)メモしておく。
animation-fill-mode:both;
どうやらこれが悪さをしていたみたい。noneにしてやればok
brackets 改行時の自動インデントを無効にする方法
デバッグ>環境設定ファイルを開く
//以下を追加 "smartIndent": false
低予算で始められるおすすめのFX口座はこちら。
http://s2fx.com/ranking/856.html
bootstrapのカスタマイズ方法
通常、既存のbootstrap.cssをカスタマイズしたい場合、別途custom.css等を作ってそれで上書きをするんだけど、例えばグリッドを12から24に変更したい場合だと、上書きするやり方ではできなそうだったため以下調べたやり方2つ。
ビルドをしない方法
Customize and download · Bootstrap
bootstrapのカスタマイズページから「Less variables」の各値を変更してダウンロードすればOK
今回グリッドのカラムを12から24に変更したかったので@grid-columnsの値を24に変更してダウンロード
ビルドをする方法
後で試す(以下2つを読めばわかるはず)
How to Build · windyakin/Honoka Wiki · GitHub
Getting started · Bootstrap
低予算で始められるおすすめのFX口座はこちら。
http://s2fx.com/ranking/856.html
jquery フォームのコピーについて完全に忘却していたので一生忘れないためのメモ
html
<ul> <li>test1</li> <li>test2</li> </ul>
こんなhtmlがあって、1つ目のliをコピーしてulに追加したいとする。そこでまずコンソールにコピー元のhtmlを表示する。
console.log($("ul li:first"));
chromeのコンソールの結果
[li, prevObject: n.fn.init[1], context: document, selector: "ul li:first"]
何が何だかさっぱりわからん。なので↓のようにする。
console.log($("ul li:first").html());
chromeのコンソールの結果
test1
なんでliタグが含まれないんじゃ~~~~っとアホみたいに2時間くらいはまった。本当に死にたい。
結局html()を使ったのが間違いだったことに気が付く。html()を使うと「内部の要素を取得」する訳だから当たり前の話なのに2時間もはまって自分を本当にぶっ殺したくなる。
前の記事にも書いたけどコンソールで対象のhtmlを見たい場合は以下のようにする。
$(function(){ $.fn.log = function() { console.log.apply(console, this); return this; }; $("ul li:first").log(); });
chromeのコンソールの結果
<li>test1</li>
ここまで理解できれば後はコピーするだけ。
var html = $("ul li:first").clone(true).html(); $("ul").append(html);
追加後のhtml
<ul> <li>test1</li> <li>test2</li> test1 </ul>
なんでliがコピーされないんじゃ!!!ってこれで本当にアホみたいに2時間はまった。自分ぶっ殺したくてしょうがねえ。
正解は以下
$("ul li:first").clone(true).appendTo("ul");
追加後のhtml
<ul> <li>test1</li> <li>test2</li> <li>test1</li> </ul>
javascriptやっていると本当に自分を殺したくなってくる。もう2度と忘れないこと。
低予算で始められるおすすめのFX口座はこちら。
http://s2fx.com/ranking/856.html
cakephp1.2 モデルのリレーションを全解除する
AppModel.php
public function unbindModelAll($reset = true) { foreach(array('hasOne','hasMany','belongsTo','hasAndBelongsToMany') as $relation){ $this->unbindModel(array($relation => array_keys($this->$relation)), $reset); } }
jquery bxsliderとphotoswipeを連携する
http://bxslider.com/
bxslider
http://photoswipe.com/
photoswipe
bxsliderで画像をスライド表示させ、画像クリック時にphotoswipeで拡大表示させたい場合の話。
普通に実装すれば問題無くできる。ただ注意するところとして、photoswipeはデフォルトだとfigureタグをリストさせる必要があるけど、これをliタグに変更したい場合、photoswipeの呼び出しスクリプトを以下のように変更する。
変更前
var clickedListItem = closest(eTarget, function(el) { return (el.tagName && el.tagName.toUpperCase() === 'FIGURE'); });
変更後
var clickedListItem = closest(eTarget, function(el) { return (el.tagName && el.tagName.toUpperCase() === 'LI'); });
もう一つ、photoswipeでモーダル表示したときにbxsliderの左右のアイコンが浮き上がってしまうので、z-indexの値を大きくする。
photoswipe.css
/*z-index: 1500;*/ z-index: 10000;
低予算で始められるおすすめのFX口座はこちら。
http://s2fx.com/ranking/856.html
win10 chrome 「ホストを解決しています」でネットが遅くなった時の対処法
DNSのキャッシュはブラウザだけじゃない。PC内にも存在している。 - 技術ブログ
まずこれでキャッシュクリアを試してみたけど改善されず。
ルーターを再起動してもダメだった。
試行錯誤したところ「Google Public DNS」を使うことで解消された。
方法としては優先DNSに「8.8.8.8」代替DNSに「8.8.4.4」を設定すればOK
でも何となく外部のdnsを使うのは気持ち悪いので後日また様子を見て戻したい。