• 締切済み

yuga.jsのカスタマイズ

yuga.jsの0.7.1を使用しています。 親リンクへの画像を_crつきにのファイル名にして表示されるという箇所なのですが 現在xamppで組んでおりサイトのトップページが以下のようになっています。 http://localhost/test/ トップページにいる場合トップへリンクしている画像のみ_crに変わるのですが http://localhost/test/hoge/にいる場合はトップページとhoge/へリンクしている 画像の2つが_crになってしまいます。 changeImgParentsをfalseにしたところそれは解消されたのですが希望としては http://localhost/test/hoge/aaa/にいる場合も http://localhost/test/hoge/へリンクを張っている画像は_crつきのものを表示させたく 思っているのですがfalseにするとhttp://localhost/test/hoge/aaa/にいる場合_crつき じゃなくなってしまいます。 スマートな説明が難しくこのような説明となってしまいましたが実現するには どうすればいいのでしょうか?

  • dcx147
  • お礼率33% (214/636)

みんなの回答

  • askaaska
  • ベストアンサー率35% (1455/4149)
回答No.2

先に断っておくわ。 ここにコードは書かないわよ。 言葉で説明するからそれを形にするのはあなたの仕事よ。 1.yuga.jsを開く  エディタは何でもいいわ。 2.selflink関数の定義を探す  「selflink」で検索すればだいたいわかるはずよ。 3.その中に<a href>で指定しているURLを  判定しているところがあるわ。見つけなさい。  if文よ。  そんなに行数ないし、消去法で見つけられるはずよ。 4.そのif文でhrefのURLが"xxx"の場合、  setImgFlgがtrueになるようにしてあげて。  "xxx"は_crにしたくない特定のURLよ。 たったこれだけ。 コメント文含めて30行しかいないんですもの alert文を組み込んで現在どこを処理しているかを見ていけば 少々時間かかっても自力でできるはずよ。

  • askaaska
  • ベストアンサー率35% (1455/4149)
回答No.1

今入手していろいろ試しているんだけど そもそもこのスクリプト正しく動作している? どうもときどき動作が怪しいのよね。 まあ、それはさておき、 ちょっと具体的に書くわね。 つまり http://localhost/a/x.html・・・(1) http://localhost/a/b/y.html・・・(2) http://localhost/a/b/c/z.html・・・(3) の3つがあった場合、 (2)の画面では(1)は_crにしたくない。 でも、(3)のときは(2)を_crにしたい。 こういうこと? もしそうだとして、 (3)から(1)へのリンクはどうしたいわけ? 階層が1階層さらに増えた場合はどうするの? とかすごく疑問が残るわ。 それとも、 親の階層は_crしてもいいけど トップページだけは_crしたくない ってことなのかしら。 きっとそういうことなんじゃないかと思っているんだけど。 そうだとしたら結構簡単な問題よ。 selflinkの処理が書かれている部分、 ここで特定のURLにリンクが張られている場合 setImgFlg=falseになるように 分岐を追加してあげればいいのよ。

dcx147
質問者

お礼

お返事ありがとうございます。 >親の階層は_crしてもいいけど >トップページだけは_crしたくない そういう事です。わかりづらい文章となってしまい申し訳ございません^^; なんとなくイメージはわかるのですがでは具体的にどうすればいいのかという点が 全くわかりません。どのようなソースを追加してやればいいのでしょうか?

関連するQ&A

  • yuga.js 「現在のページをハイライト表示」

    yuga.js 0.7.1を使用しており、 「現在のページをハイライト表示」について質問させていただきます。 /test/index.html という静的ページがあり、 通常ではうまくハイライト表示されているのですが、 そのindex.html に、 例えば「?abc=100」というパラメータが付いた場合、 もしくは、その親ディレクトリ名のうしろにパラメーターが付いた場合( → /test/?abc=100)、 ハイライトが無効になっていまいます。 ?以降の追加されたパラメーターを無効(無視)にする事は可能でしょうか? 可能でしたら、その記述を教えて頂ければと思います。 どうぞよろしくお願いいたします。 ■サンプル パラメーター無し http://testservers.zxq.net/test/ パラメーター有り http://testservers.zxq.net/test/?abc=100

  • yuga.jsを使うとロールオーバー画像が表示されない

    お世話になっております。質問させてください。 現在メニューの画像をyuga.jsに入っていないスクリプトで ロールオーバーさせているのですが、 ある1ページにだけ yuga.js関係のスクリプトを使用した所、 そのページのメニュータイトル画像だけが 表示されなくなってしまいました。 (マウスを載せるとロールオーバー後の画像は出てくるのですが) http://www.geocities.jp/meguri_mizu/test/pc/2008.html ↑こんな感じです…。左上の「役に立つパソコン」の部分です。 firefoxだとずっとマウスオーバーした時の画像が表示されたままになってしまいます。 yuga.jsでできる、名前に_onをつけてのロールオーバーにしても やっぱり自ページのメニューだけがうまく表示されません。 なぜなのでしょうか…? スクリプトが読めないのでどう直していいのか全然わかりません;; よろしければご教授ください。お願いします…。

  • JUGEMのカスタマイズについて

    JUGEMカスタマイズ講座「ピックアップピクチャ解説編」(http://nz.jugemers.net/log/eid39.html)の記事についての質問が3つあります。 1.主な仕様の説明の一つに「抜き出した画像に対してエントリーの個別URLにリンクします。」とありますが 説明の通りテンプレートに記述したのに 個別URLではなくトップページにリンクされしまいました。 個別URLにリンクさせるにはそうすればよいのでしょうか? 2.「エントリーにはサムネイル用の画像と普通に表示させる画像を混在させることが出来ます。」 ということの意味が良くわかりませんでした。 この意味が分かる方がいらっしゃればぜひ教えてください。 3.ピックアップピクチャを載せた記事を表示している時にはナビには画像が表示されるのですが その他の記事を表示したときには画像が表示されず「×」になってしまいます。 <img src="http://simpleboxes.jugem.cc/?image=48" alt="" width="120" height="120" /> は記述したままなのですが 何故このようになるのか分かりません。 教えてください。 よろしくお願いします。

  • うまくリンクが飛びません

    HPを作成している初心者です。 html 4.01 で作成したHPをローカル環境にて IE8 でテスト表示させた場合 表示ページ内に動画等があると表示されるアクティブコンテンツを 表示させたくない為、また IE8 の設定で表示させないようにもしたくなかったので html内に・・・ <!-- saved from url=(0014)about:internet --> の一文を追加したところ、確かにアクティブコンテンツは 表示されなくなりましたが、リンクが飛ばなくなりました。 Firefox Google Chrome でのテストでは何ら問題ないのですが・・・ 当方の開発環境は・・・ Dreamweaver CS5 xampp (最新) xampp htdocs下に作成したhtml top_page.html を右クリックして プログラムから開く --> Internet Explorer を選択して表示されるページ (画面下部の通知領域は インターネット|保護モード:有効) では表示ページのリンクアイコンを押しても無反応です。 しかし、アドレス入力域に http://localhost/top_page.html と入力して表示するぶんには全く問題ないです。 (画面下部の通知領域は ローカルイントラネット|保護モード:無効) 色々ググってみたのですがそれでもちょっと解らなかったので どなたか解り易くご回答頂けたら有難いのですが・・・

    • ベストアンサー
    • HTML
  • ローカルテストサーバーと本番サーバーにおける、相対パス表記のズレについて。

    初歩的な質問かもしれませんが、よろしくお願いします。 現在、webサイトを制作中で、ローカルでテストできるように、自分のPCにXAMPPをインストールしました。 本番サイトのトップページURLが、http://example.comであるとすると、このページは ローカルテスト上では、http://localhost/example.comとブラウザには表示されます。 つまり、あたまに「localhost/」が付く分だけ、本番サイトとは、1階層のズレが生じます。 このhttp://example.comのトップページで、http://example.com/about.html でアクセスできるページへのリンクを貼る場合、 「http://example.com/about.html」という絶対パスでリンクを貼ると、ローカルから本番へと飛んでしまうことになります。 なので、リンクを貼る場合、絶対パスではなく相対パスで貼る必要があると感じているのですが、 その書き方がよく分からないのです。 http://example.com/about.html というページのトップページからの相対パスは、 本番サイト上では、「./about.html」と表記でき、 (http://example.com/about.html だから1階層下) ローカルテスト上では、「././about.html」と表記することになるので、 (http://localhost/example.com/about.html だから2階層下) テスト後、本番にアップする際にいちいちパスを修正しなければならなくなり、これだと不便です。 テストしてOKだったHTMLを修正せずに、そのまま本番のサーバーへとアップする方法がありましたら、教えて下さい。 ・PCのOS:winXPsp2 ・dreamweaver CS3(win) ・phpファイルもアップすることがあります。

  • mod_rewriteの変換について

    こんにちは。 現在、業務でmod_rewriteの設定をしているのですが、こまっています。 やりたい事は http://localhost/hoge/aaa/bbb/ のアクセスがきた時に http://localhost/hoge/?action_aaa_bbb_index=true の内容を表示したいです。 但し、URLは http://localhost/hoge/aaa/bbb/ という感じです。 他のサイトで調べて、設定をしたのですがどうしても http://localhost/hoge/aaa/bbb/ アクセスすると http://localhost/hoge/以下のディレクトリィが表示されてしまいます。 また最後のオプションを[R]にすると表示はされますが http://localhost/hoge/?action_aaa_bbb_index=true にURLが書き換わってしまいます。 (これは当然なので、認識しています。) 以下、設定を記述します。 よろしくお願いします。 ■環境 windows XP apache2.2 ■記述箇所 httpd.conf --------設定内容--------- RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^/hoge/([0-9A-Za-z]+)/([0-9A-Za-z]+)/?$ /hoge/?action_$1_$2_index=true [L] AllowEncodedSlashes On

  • ランダム画像のjsをカスタマイズしたいです。

    下記URLを参考に、画像のランダム表示をしたく思っています。 http://iwantaneff.in/repo/plugins/image-galleries/photofy/ 上記URLの場合、表示された番号の画像をクリックすると、shdowboxのように詳細ページが 表示される仕組になっています。 画像をクリックしたら、別ページに遷移(例のようにポップアップな感じではなく、単純な遷移)させる には、どのようにコードを改めるとよいでしょうか。

  • 各ページごとにjsで表示内容を変更したい

    ページごとにディレクトリ名を判別して表示内容を変更するスクリプトを書きたいのですが、現状ieでのみ動作が不安定です。yuga.jsに組み込む形で記述しています。 //script------------------------ var filePath = location.href; var a = filePath.split('://'); schema = a[0]; var d = a[1].split('/'); host = d.shift(); var f = d.pop(); var dirs = d; if(dirs == 'hoge'){ var target = '<li><a href="..\/hoge\/index.html">hoge1<\/a><\/li>' + '<li><a href="..\/hoge\/hoge2.html">hoge2<\/a><\/li>' + '<li><a href="..\/hoge\/hoge3.html">hoge3<\/a><\/li>' } document.getElementById('listWrap').lastChild.innerHTML(target); //html----------------------------- <div id="listWrap"> <img src="./images/listTitle.jpg" alt="" width="**" height="**" /> <ul id="list"></ul> </div> 上記スクリプトを外部から読み込んでonloadで実行していますが、ieでは document.getElementById('listWrap')がnullを返すことが多く、表示される場合とされない場合があります。 ご教授よろしくお願いします。

  • jQueryの.loadで読み込んだphpについて

    現状、以下のディレクトリ構造です。 /hoge/aaa/index.html(★) /hoge/bbb/index.html(★) /hoge/ccc/index.html(★) /hoge/test.php ★印のhtml内部でそれぞれ jQuery("#target").load("/hoge/date.php"); と書いてphpを読み込み、 出力結果をそれぞれのhtmlにある#target内表示させようとしています。 一方、test.php内部ではURLに /aaa/があったら、 /bbb/があったら、 /ccc/があったら、 「■■■■■」するという処理を書いて、応じた値を表示しようと考えています。 ここで問題が発生するのですが、 test.php内部で、 $pageurl = $_SERVER["REQUEST_URI"]; こう記述して値を取っても、phpが置かれている場所である 「/hoge/test.php」 を取得するだけで、htmlが置かれているパスは取得できませんでした。 .loadした場合のphpでは、 読み込み先のhtmlのURLなどをphp側で取得させる事はできないのでしょうか。 うまく説明できていないかもしれませんが、 ご助言いただけますとありがたいです。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • こんなことが、できるのでしょうか?

    すみませんが、教えてください。 (自分で少し考えた結果、無理のような気がするのですが) htmlでは、別のページへリンクを貼る場合、 下のようにすれば、行を指定して、リンクを張ることができます。 リンク元ページ(hoge.html) <a href="hogehoge.html#aaa">移動</a> リンク先ページ(hogehoge.html) <a name="aaa">ここへ場所</a> リンク先が、hogehoge.phpの場合、行を指定してリンクを貼れないのでしょうか? 以上、よろしくお願いいたします。

    • ベストアンサー
    • PHP

専門家に質問してみよう