7月 08

タイトル通り試してみたのでポスト。

yuga.jsとは?

yuga.jsはWeb制作を優雅にするために作られたJavaScript ライブラリで、ロールオーバーや、カレントリンクなどが簡単に優雅に設定する事が出来るライブラリです。

中の人は「kyousuke」さんというかたらしいです。

とても便利な扱いやすいライブラリを作成していただきありがとうございます:)

本題

で、本題のやってみた事ってのは、公式サイトだと、「親フォルダへのリンク」という項目で「http://example.com/company/index.htmlの場合はハイライトしません」となっていて、これをどうにかして対応出来ないものかと考えてみた。

というのが始まり。

やりたいこと

ファイル名が含まれた状態でもハイライト可能にしたい。

実際にやってみた

とりあえず今回はindex.htmlというファイル名が入った場合のみに対応するということでLet’sTry。

yuga.jsをダウンロードしてきて、開いて82行目を凝視。

どうやら絶対バスを検索してマッチしたのがあれば親ディレクトリの中だよ!ということをやっているらしい

なのでここに正規表現を追加

文字列のけつから見てindex.htmlが含まれるか?を見るので、後方検索で行う

location.href.match(href.absolutePath.replace(/index.html$/i, “”) );

こんなかんじでできたっちゃー出来たけど、これだとまだ問題が

結果

出来ないことは無いと思うけど、階層が深くなる旅に何かしかけなきゃいけなくなりそうなのと、カテゴリの考え方を用いたページの作成だと、ディレクトリ名が違う場合でもカテゴリは属するって言うことがあると思います。

その場合だと、jsだけだとかなり厳しくなり、あたまんなかぐしゃぐしゃになります。

こういう場合はMTやWordPress、Joomla!等を利用して、カテゴリ名のチェックをページ単位でかけて、trueならクラスでisCurrentを付け足す。

という方がシンプルだと思います。

ただ、案件によってはjsのみで簡潔させなければならない!ってのもあるので、そういう場合はすごい人にお願いしてみると良いかもしれません。

別な話ですが・・・

久しぶりにActionScript3を使ってごにょごにょしましたが、示唆しぶりすぎてクラス名とか全く忘れてました。

で、今日やってて思ったのが、as2ではMovieClip等に好きな変数名を持たせて、値を要素の中に保持することが出来ましたが、as3だと当然のことながらできません。

しばらくどうしようと思ってて出た結果が「配列」。

これはこれでいいのか迷ったけど、「こ、こいつ・・・っ!うごくぞっ!」ってなったのでひとまずOKとしておきました。

Leave a Reply