Tweet
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
- Newer: JavaScriptで非WYGIWYGな軽量HTMLエディタを作ろう(第1回続き)
- Older: WYSIWYGエディタが嫌い
Home > > JavaScriptで非WYGIWYGな軽量HTMLエディタを作ろう(第1回)
Tweet
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
Home > > JavaScriptで非WYGIWYGな軽量HTMLエディタを作ろう(第1回)
Home > JavaScript > JavaScriptで非WYGIWYGな軽量HTMLエディタを作ろう(第1回)
Tweet
What You Code Is What You Get.
大口叩いちゃったので始めます。
まず、どんなものを作るか考える。
行き当たりばったりだと、どうせ途中で投げるので。
IE7とFirefox3で動作するように。
Opera、Safariは結果的に動けばラッキー。
IE6は知らん。
とりあえずこれくらいで。
あげだしたらきりがいない…。
実装の過程は全部公開します。
黙々とやってると飽きるので。
あと、そうすれば僕が投げても誰かやってくれるかなぁ、と。
面倒なのでコードは全部とりあえずMITライセンスとします。
では、今回は一番簡単そうな、
「ボタンクリックでカーソル位置にタグ挿入」
をやります。
ますはモチベーションのためにも着飾る。
ちょうど最近、[JS]button, span, anchorをスタイリングするチュートリアル | コリスなんて記事があったので、
Styling Buttons and Toolbars with the jQuery UI CSS Framework | Filament Group, Inc.
UI/Theming/API - jQuery JavaScript Library
あたりを参考に作ってみることに。
…できた↓
Editor1.1
が、思ったよりてこずって、今日は見た目だけで力尽きた。
ってことで機能の実装は明日以降に^^
予想以上に苦労したけど、なんとなく使い方はわかったのでメモ。
jQuery UIの最新版(1.6rc6)をダウンロード。
google ajax libs apiには1.6やテーマとかは置いてないっぽいので仕方ない。
で、必要なjsとcssを読み込む。
こんな感じ↓
<link rel="stylesheet" type="text/css" href="jquery.ui-1.6rc6/themes/base/ui.all.css" media="all" />
<script type="text/javascript" src="jquery.ui-1.6rc6/jquery-1.3.1.js"></script>
<script type="text/javascript" src="jquery.ui-1.6rc6/ui/jquery.ui.all.js"></script>
あとは以下のようなclassを設定していくだけ。
class | 効果 |
---|---|
ui-widget-header | ツールバー的な枠で要素を囲う。 |
ui-state-default | ボタンみたいな見た目にする。 (ui-state-hoverをhover時に追加するようにjsを書くと良し) 僕はとりあえず、 とやってる。 |
ui-corner-all | 角丸にしてくれる。 IEでは駄目?? |
ui-helper-clearfix | ブロック内の要素を全floatすると高さがなくなっちゃうというcssの厄介な仕様を解決してくれる。 これは駄目だ、便利すぎてcssの勉強にならん。 ちなみにui.core.cssには、 という設定が。そういえばと思って調べてみたら、ホップ本にもちゃんと書いてた。(p158、p184とか) 全然身についてないなぁ。 |
他にもいろいろあるのでclassを組み合わせていけばおしゃれな感じになる。
classの設定で出来ないものは個別に自分でcssを設定する。
詳細はEditor1.1の中身を見てください。
とりあえずこれだけ覚えればツールバー的見た目は簡単に作れた、すごい。
ただ、見た目のためにタグを書いちゃいそうになったり、(これは自分が悪い)
JSでclassいじる必要があったりであんまりスマートじゃないかも。
あと、CSSフレームワークとしては若干ハードル高い気が。。。
まぁ作っちゃったもんはしょうがないのでビジュアルはこれでいきます。
(といってもメニューとか全然適当ですが。)
※ 今回は使ってないけど、スクリプト1行でテーマ切り替え機能が実装できる!
<script type="text/javascript" src="http://ui.jquery.com/themeroller/themeswitchertool/"></script>
<script type="text/javascript">
$('div#switcher').themeswitcher();
// html
// <div id="switcher"></div>
</script>
とかけばテーマが自由に変えれるようになる。
クッキーで設定も保存してくれる。
以上、明日以降頑張ります。
言ったからにはやらないとー。
Home > JavaScript > JavaScriptで非WYGIWYGな軽量HTMLエディタを作ろう(第1回)