ウェブサービスを作っています。

javascript

details 要素 + Stimulus で開閉アニメーション表示をする (高さ可変のアコーディオンメニュー)

<details> 要素 を使うと JavaScript を使わずにアコーディオンメニューを実装することができます。 ただ、2022年2月時点では、開閉のアニメーション表示をする組み込みの方法がありません。 そこで、Stimulus を使って開閉アニメーション表示をするコードを示します</details>…

IE10以下で HTMLElement.dataset を使う

JavaScript で HTML 要素の data- 属性 を取得する際、モダンブラウザでは elem.dataset.xxx のように取得できます。 HTMLElement.dataset - Web API | MDN ただ、この機能は IE10 以下で使うことができません。 element-dataset という npm モジュールを使…

jQuery Countdown で残り 1 時間未満のときに「あと 0 時間」と表示しない

カウントダウン機能を提供する jQuery Countdown プラグインで あと 0 時間 30 分 20 秒ではなく あと 30 分 20 秒のように表示する方法です。 $('#foo').countdown({ until: (終了時刻の Date オブジェクト), layout: 'あと {d<}{dn} 日 と {d>}{h<}{hn} 時…

userscripts.org に登録しました

2 つのスクリプトを userscripts.org に登録しました。バージョンアップはしていません。 とりあえずお知らせです。 LDR + SBM Counter GreaseKit でも使える、LDR カウンタ・SBM カウンタ的なグリモン。 LDR+SBM Counter for Greasemonkey LDR Hatebu Comme…

javascript:alert(0.1+0.2)

0.30000000000000004 これに書いてあります。JavaScript: The Good Parts ―「良いパーツ」によるベストプラクティス作者: Douglas Crockford,水野貴明出版社/メーカー: オライリージャパン発売日: 2008/12/22メディア: 大型本購入: 94人 クリック: 1,643回こ…

location.href, document.URL のエンコードがブラウザによってバラバラな件

「http://ja.wikipedia.org/wiki/メインページ」を開いて、ロケーションバーに javascript:alert(%22location.href:%22+location.href+%22\ndocument.URL:%22+document.URL) と打ち込む。ちなみに、この内容は alert("location.href:" + location.href + "\n…

Array#slice でちょっと悩んだ

久しぶりに JavaScript をやっています。 で、結構忘れていたのでちゃんと勉強しようと思いまして、これを読んでいます。JavaScript 第5版作者: David Flanagan,村上列出版社/メーカー: オライリー・ジャパン発売日: 2007/08/14メディア: 大型本購入: 52人 …

はてなブックマークのエントリーページを開くブックマークレット

javascript:window.open('http://b.hatena.ne.jp/entry/'+location.href);undefined;簡単なブックマークレットですけど、これをスマートキーワードに設定したり、Safari のブックマークバーに登録したら何気に便利でした。

unsafeWindow を覚えた

Greasemonkey で JSONP を使おうと思い、自分で作った JSONP オブジェクトを使ってみたところ、コールバック関数未定義のエラーが出ました。 何でだろ.. と思っていたのですが、Greasemonkey の window オブジェクトはふつうの window オブジェクトとは違う…

未知のエラー

<p id="hoge"></p> みたいな HTML を用意しておいて、 document.getElementById('hoge').innerHTML = '...'; みたいに IE でやったら、未知のエラーとかいうのが出ました。 <p><div id="hoge"></div></p> ↑ちなみにこうしたら直った。 p 要素で innerHTML やるとだめなのかとかいうと、そういうわけでもな…

LDR の全レートをリセットするスクリプト

LDR のレートをうまく使いこなせていなくて、全部リセットしたくなったので書きました。 javascript:subs.model.list.map(function(s){set_rate(s.subscribe_id,0)});void(0) LDR で新着以外も表示するようにしてから、アドレスバーに入力。 一瞬で全フィー…

JSONP オブジェクトを作った

JSONP で、いちいちコールバック関数に名前つけて書くのが面倒なので、 var url = 'http://s.hatena.ne.jp/blog.json/http://d.hatena.ne.jp/hatenastar/?callback={callback}'; JSONP.request(url, function(json) { alert(json.star_count); }); みたいに …

なぞ

自分は JavaScript をよくわかっていないのですが、 var str = 'hoge'; console.log(str[3]); ってやったら、 eって出ました。 なので、あー JavaScript の文字列型は 1 文字ごとの配列になってるのかなーとか思って、 var str = 'hoge'; str[4] = '!'; cons…

Mac 版 Firefox でブルブルする件

ブームに乗って、最近 jQuery を使っています。 要素の選択とか JSON 形式での取得とか、らくらくですね。 ろくに JavaScript わかってないですが。 ところで、html と body 要素の色を変えて、ハイビジョンっぽい横長ウインドウを作るために、 $('body').cs…