• ベストアンサー

jQuery読み込めない

アコーディオンメニューを導入しようと思い、こちらのサイトの https://b-risk.jp/blog/2021/11/accordion/#1 1つ開くと他の項目が閉じるアコーディオンのコードをコピペしましたが、表示はされますが動きません。 コードはコピペしただけなので、まったく変更していません。 たぶん、jQueryを読み込んでいないのだと思います。 Chromeのデベロッパーツールを開きConsoleタブが開いたら Failed to load resource: the server responded with a status of 404 (Not Found) Failed to load resource: the server responded with a status of 400 (Bad Request) というメッセージが出ます。 jQuery自体は</head>の上に <script type="text/javascript" src="js/jquery-3.7.1.min.js"></script> と記載し動作は確認済みです。 アコーディオンメニューのjQueryコードは</body>の上に記載しています。 コードは次のとおりです。 ■HTML <div class="qa"> <div class="q">Q1.○○?</div> <div class="a">A1.✕✕!</div> </div> <div class="qa"> <div class="q">Q2.○○?</div> <div class="a">A2.✕✕!</div> </div> <div class="qa"> <div class="q">Q3.○○?</div> <div class="a">A3.✕✕!</div> </div> <div class="qa"> <div class="q">Q4.○○?</div> <div class="a">A4.✕✕!</div> </div> <div class="qa"> <div class="q">Q5.○○?</div> <div class="a">A5.✕✕!</div> </div> ■CSS .qa { font-size: 20px; .q { background-color: mediumseagreen; height: 60px; padding: 15px 40px 15px 15px; position: relative; cursor: pointer; &:before { position: absolute; content: ""; display: block; width: 10px; height: 2px; background-color: #fff; right: 15px; top: 50%; transform: translate(0, -50%); } &:after { position: absolute; content: ""; display: block; width: 10px; height: 2px; background-color: #fff; right: 15px; top: 50%; transform: translate(0, -50%) rotate(90deg); } } .q.active { &:after { display: none; } } .a { background-color: greenyellow; height: 60px; display: none; padding: 15px; } } ■jQuery $('.q').click(function(){ $(this).siblings('.a').stop().slideToggle(); $('.q').not($(this)).siblings('.a').slideUp(); $(this).toggleClass('active'); $('.q').not($(this)).removeClass('active'); }); 以上、よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.4

試した見たら、1発で動きましたよ。 ------------------------------ <script src="https://code.jquery.com/jquery-3.7.1.min.js" integrity="sha256-/JqT3SQfawRcv/BIHPThkBvs0OEvtFFmqPF/lYI/Cxo=" crossorigin="anonymous"></script> <script type='text/javascript'> console.log("JAVASCIRPTが起動しました"); $(function(){ console.log("JQUERYが起動しました"); $('.q').click(function(){ console.log("JQ::Listenerが起動しました"); $(this).siblings('.a').stop().slideToggle(); $('.q').not($(this)).siblings('.a').slideUp(); $(this).toggleClass('active'); $('.q').not($(this)).removeClass('active'); }); }); </script> <style> .qa { font-size: 20px; .q { background-color: mediumseagreen; height: 60px; padding: 15px 40px 15px 15px; position: relative; cursor: pointer; &:before { position: absolute; content: ""; display: block; width: 10px; height: 2px; background-color: #fff; right: 15px; top: 50%; transform: translate(0, -50%); } &:after { position: absolute; content: ""; display: block; width: 10px; height: 2px; background-color: #fff; right: 15px; top: 50%; transform: translate(0, -50%) rotate(90deg); } } .q.active { &:after { display: none; } } .a { background-color: greenyellow; height: 60px; display: none; padding: 15px; } } </style> <div class="qa"> <div class="q">Q1.○○?</div> <div class="a">A1.??!</div> </div> <div class="qa"> <div class="q">Q2.○○?</div> <div class="a">A2.??!</div> </div> <div class="qa"> <div class="q">Q3.○○?</div> <div class="a">A3.??!</div> </div> <div class="qa"> <div class="q">Q4.○○?</div> <div class="a">A4.??!</div> </div> <div class="qa"> <div class="q">Q5.○○?</div> <div class="a">A5.??!</div> </div> ------------------------------ 本当にこのまま、保存して動作しています。 HTMLやら、HEADやら、BODYすらもないですが^^ で、思うに原因が、ここ! <script type='text/javascript'> console.log("JAVASCIRPTが起動しました"); $(function(){ console.log("JQUERYが起動しました"); $('.q').click(function(){ console.log("JQ::Listenerが起動しました"); $(this).siblings('.a').stop().slideToggle(); $('.q').not($(this)).siblings('.a').slideUp(); $(this).toggleClass('active'); $('.q').not($(this)).removeClass('active'); }); }); </script> JavaScript空間で、Jquery命令を発行していたりしませんか? ソースに、空間が切り替わった時、console.logを入れておきましたので、 デバッガーにて、「あ~なるほにゃ~」を体験してみるのは ありだと思います。 おまけ、結局は実際に実行してるのはCSSなので、 エレメント出しながら、Jqueryがどこを書き換えたのかな~? って観察すると、ドノーマルのJavaScriptでも同じことが出来るので、 Jqueryなしで実行できてエコですよ。 (余計な読み込みはサイトを遅くするだけなので、  検索エンジンのサイトスコア下がるのでね。) ってことで、解決???かにゃ? (なぜか、今日は、イライラMAXで「にゃ~にゃ~」モード) (貴方にじゃないので、気にせず~)

musicchan
質問者

お礼

AsarKingChangさん、いつもありがとうございます。 console.logを入れると動くようになりました。 それにしても何にでもお詳しいですね。 ありがとうございました。 今後ともよろしくお願いいたします。

その他の回答 (3)

回答No.3

たまに、OKWAVE画像送信ミスするので、別投稿にします。

回答No.2

>をコピーし入れ替えましたが、やはり動きません。 現在のエラーなどを見せてもらえますか? 最初の投稿時の問題は恐らくこれで解決しているので、 さらに別の問題が発生していると思われるためなので。

回答No.1

原因はこれです。 >コードはコピペしただけなので、まったく変更していません。 コピペした「だけ」だからです。 構成物をコピーしてないのですよ。 で、直接の原因はここ! <script type="text/javascript" src="js/jquery-3.7.1.min.js"></script> これは、この人のサイトのJqueryです。 対処法はCDNを使いましょう。 今回3.7.1を使いたいと書いているので、 https://releases.jquery.com/ 公式のJqueryから、 jQuery 3.x の「minified」つまり、".min.js"の事 を押すと、 <script src="https://code.jquery.com/jquery-3.7.1.min.js" integrity="sha256-/JqT3SQfawRcv/BIHPThkBvs0OEvtFFmqPF/lYI/Cxo=" crossorigin="anonymous"></script> これをコピーしろ!ってウインドウが開くのでそれをコピー 貴方のソースの <script type="text/javascript" src="js/jquery-3.7.1.min.js"></script> これと入れ替えてください。 なお! 404ってのは、「貴方のサーバーにファイルがないよ!」エラーです。 それだけで、1発で動きますよ!

musicchan
質問者

補足

AsarKingChangさん、いつも大変お世話になっております。 おっしゃる通りhttps://releases.jquery.com/から <script src="https://code.jquery.com/jquery-3.7.1.min.js" integrity="sha256-/JqT3SQfawRcv/BIHPThkBvs0OEvtFFmqPF/lYI/Cxo=" crossorigin="anonymous"></script> をコピーし入れ替えましたが、やはり動きません。 よろしくお願いいたします。

関連するQ&A

  • jqueryの置き換えについて

    jsで作った電卓をjqueryに置き換えしなくてはいけなくなったのですが、 jqueryは習ってる最中で何がなんやら書き換えがうまくできません。 jqueryの導入の仕方や基本的な書き方はわかるのですが、書き換えると何かしら必ず定義されていないなどエラーが出てしまいます。jsで書いたものはちゃんと動いていたのにjqueryに書き換えると微動だにしません。 書き換え後のコードを頂けたら幸いです。 html <body class="body1"> <div class="calculator"> <div id="display" value="0">0</div> <div class="commands"> <div class="command is-2col" onclick="calc_func(this)" value="clear">clear</div> <div class="command empty"></div> <div class="command is-operator" onclick="calc_func(this)" value="/">÷</div> <div class="command" onclick="calc_func(this)" value="7">7</div> <div class="command" onclick="calc_func(this)" value="8">8</div> <div class="command" onclick="calc_func(this)" value="9">9</div> <div class="command is-operator" onclick="calc_func(this)" value="*">×</div> <div class="command" onclick="calc_func(this)" value="4">4</div> <div class="command" onclick="calc_func(this)" value="5">5</div> <div class="command" onclick="calc_func(this)" value="6">6</div> <div class="command is-operator" onclick="calc_func(this)" value="-">-</div> <div class="command" onclick="calc_func(this)" value="1">1</div> <div class="command" onclick="calc_func(this)" value="2">2</div> <div class="command" onclick="calc_func(this)" value="3">3</div> <div class="command is-operator" onclick="calc_func(this)" value="+">+</div> <div class="command is-2col" onclick="calc_func(this)" value="00">00</div> <div class="command" onclick="calc_func(this)" value="0">0</div> <div class="command is-equal" onclick="calc_func(this)" value="=">=</div> </div> </div> <body> js function calc_func(button) { // console.log(button); var display = document.getElementById("display");//id名 displayの要素を取得 変数displayに代入 var button_value = button.innerHTML; //button_valueの変数に、buttonの中身を取得 console.log(button_value) if (button_value === "clear") { //押したのがclearなら、displayの中身がinnerHTMLで0に変わる display.innerHTML = "0"; }else if (button_value === "=") { //押したのが=なら、displayの中身をnew funcで計算して値を返す var replace_value = display.innerHTML.replaceAll("×", "*").replaceAll("÷", "/"); //replaceAllは("対象の文字列","置き換えする文字列")で文字を置き換えできる display.innerHTML = (new Function ("return " + replace_value))(); //押されたキーの内容を判別せず、単純にそのまま文字列として記憶して、計算時に、そのまま文字列の計算結果を返すようにreturnの文字列を付け加える }else if (display.innerHTML === "0" || display.innerHTML === "00") { if (!isNaN(button_value) || button_value === "-") { display.innerHTML = button_value; } }else { if (isNaN(button_value)) { var migihashi = display.innerHTML.slice(-1); if (!isNaN(migihashi)) { display.innerHTML += button_value; } }else { display.innerHTML += button_value; //それ以外の動き +=はdisplay.innerHTML=display.innerHTML+button_valueの略し } } } css .calculator { width: 205px; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5); margin: auto; } #display { width: 205px; background: #5b5b5b; text-align: right; border: 1px solid #000; box-sizing: border-box; color: #fff; font-size: 25px; padding: 5px 10px; } .display.flashing { animation-name: flash; animation-duration: 0.1s; } @keyframes flash { 0% { color: #5b5b5b; } 90% { color: #5b5b5b; } 100% { color: #fff; } } .commands { width: 204px; background: #000; display: flex; flex-wrap: wrap; padding-left: 1px; } .command { width: 50px; height: 45px; background: #ddd; margin: 0 1px 1px 0; text-align: center; padding-top: 10px; box-sizing: border-box; font-size: 18px; } .command.is-operator, .command.is-equal { background: orange; color: #fff; } .command.is-2col { width: 101px; } .command:active { background: #bbb; } .command.is-operator:active, .command.is-equal:active { background: #d37e00; } .command.empty:active { background: #ddd; } #debug { display: none; }

  • jQueryにてアコーディオン機能実装について

    皆様、いつもお世話になります。 現在jQueryを使ったアコーディオン機能の実装を勉強しています。 下記、サイトを参考に実装してみたのですが、要望どおりの挙動にならず困っています。 【参考サイト】 http://web-pc.net/jquery010 【質問内容】 ページロード時に、全てのリストが開いてしまっている。 要望する挙動は以下ページのとおり、ページロード時は全てのリストが閉まっている状態にしたい。 http://sample.web-pc.net/accordion/# ソースは以下のとおりです。 【javascript】 <!-- jQuery --> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> <script> $(function(){ $(".schedule_list dt").click(function(){ $(this).next("dd").slideToggle(); $(this).children("div").toggleClass("open"); }); }); </script> 【HTML】 <div> <dl class="schedule_list"> <dt> <div> <span> <span>★</span> <span>▲▲</span> <span>画像</span> </span> </div> </dt> <dd> <div> <table> <tr> <td> <img src="▲"> </td>    <td> <div> <a href=""><img src="▲" /></a> </div>          </td> </tr> </table> </div> </dd> </dl> </div> 【CSS】 dl.schedule_list { display:block; } dl.schedule_list dt div { width:546px; height:61px; display:block; background-image:url(★);} dl.schedule_list dt div.open { width:546px; height:61px; display:block; background-image:url(★);} 以上です。 どなたかお詳しい方ご教授のほどよろしくお願いいたします。 開発環境: MacOSX yosemite Dreamweaver CC Safari8.0

  • jQuery bxSlider でのアニメーション

    jQueryのbxSlider を使用して、6枚のスライドギャラリー的なものを作っています。 各スライドがスライドした後に、onAfterSlide: function() を使用してオブジェクトのフェードをしたく以下の様に記述しています。1枚目から5枚目では、各スライドをした後にオブジェクトをフェードインでアニメーションができるのですが、最後のスライドのオブジェクトのみがアニメーションしません。コードは以下になります。どなたか最後のオブジェクトもアニメーションするスクリプトを教えていただけますでしょうか? <script type="text/javascript"> $(function(){ var slider = $('#slider1').bxSlider({ controls: true, duration: 2000, easing: 'easeInOutQuart', onAfterSlide: function(currentSlide){ if(currentSlide==0){ $("#block").fadeIn("slow"); }else{ $("#block").hide(); } if(currentSlide==1){ $("#block2").fadeIn("slow"); }else{ $("#block2").hide(); } if(currentSlide==2){ $("#block3").fadeIn("slow"); }else{ $("#block3").hide(); } if(currentSlide==3){ $("#block4").fadeIn("slow"); }else{ $("#block4").hide(); } if(currentSlide==4){ $("#block5").fadeIn("slow"); }else{ $("#block5").hide(); } } }); $('.thumbs a').click(function(){ var thumbIndex = $('.thumbs a').index(this); slider.goToSlide(thumbIndex); $('.thumbs a').removeClass('pager-active'); $(this).addClass('pager-active'); return false; }); $('.thumbs a:first').addClass('pager-active'); }); </script> <ul id="slider1"> <li class="slider1-1"> <div id="block" style="background-color: red; width: 500px; height: 300px; position: absolute; top: 70px; left:100px;"> </div> </li> <li class="slider1-2"> <div id="block2" style="background-color: white; width: 500px; height: 300px; position: absolute; top: 70px; left:100px;"> </div> </li> <li class="slider1-3"> <div id="block3" style="background-color: black; width: 500px; height: 300px; position: absolute; top: 70px; left:100px;"> </div> </li> <li class="slider1-4"> <div id="block4" style="background-color: black; width: 500px; height: 300px; position: absolute; top: 70px; left:100px;"> </div> </li> <li class="slider1-5"> <div id="block5" style="background-color: black; width: 500px; height: 300px; position: absolute; top: 70px; left:100px;"> </div> </li> <li class="slider1-6"> <div id="block6" style="background-color: #FFF; width: 500px; height: 300px; position: absolute; top: 70px; left:100px;"> </div> </li> </ul> <div class="thumbs"> <a href=""><img src="img/1.jpg" width="50" height="50" /></a> <a href=""><img src="img/2.jpg" width="50" height="50" /></a> <a href=""><img src="img/3.jpg" width="50" height="50" /></a> <a href=""><img src="img/4.jpg" width="50" height="50" /></a> <a href=""><img src="img/5.jpg" width="50" height="50" /></a> <a href=""><img src="img/6.jpg" width="50" height="50" /></a> </div>

  • CSS:全体の画面の中央ぞろえ

    全体的にレイアウトを中央にそろえたいのですが、それをするのにあるサイトに、「margin:0 auto」または「margin-left:auto ; margin-right:auto」を指定すると書いてあったのですが、そのようにしても中央ぞろえにはなっていませんでした。 どのようにすればよいのでしょうか? div { float: left; margin-left: auto; margin-right: auto } div.Kukaku1 { background-color:blue; width: 900px; height: 150px; } div.Kukaku2_1 { background-color:green; width: 300px; height: 25px } div.Kukaku2_2 { background-color:aqua; width: 300px; height: 25px } div.Kukaku2_3 { background-color:gray; width: 300px; height: 25px } div.Kukaku3_1 { background-color: black; width: 250px; height: 200px; } div.Kukaku3_2 { background-color: fuchsia; width: 650px; height: 150px } div.Kukaku3_3 { background-color: lime; width: 650px; height: 50px } div.Kukaku4_Ga { width: 450px; height: 150px } div.Kukaku4_1 { background-color: maroon; width: 450px; height: 80px } div.Kukaku4_2 { background-color: navy; width: 450px; height: 70px } div.Kukaku4_3 { background-color: red; width: 450px; height: 150px } <div class="Kukaku1"></div> <div class="Kukaku2_1"></div> <div class="Kukaku2_2"></div> <div class="Kukaku2_3"></div> <div class="Kukaku3_1"></div> <div class="Kukaku3_2"></div> <div class="Kukaku3_3"></div> <div class="Kukaku4_Ga"> <div class="Kukaku4_1"></div> <div class="Kukaku4_2"></div> </div> <div class="Kukaku4_3"></div> 回答よろしくお願いします。

    • ベストアンサー
    • HTML
  • ウインドウサイズを小さくしてもレイアウトが乱れないようにする方法

    下のHTMLとCSSに、何を追加すればウインドウサイズを変更しても、レイアウトが乱れないようにすることができるでしょうか? div { float: left } div.Kukaku1 { background-color:blue; width: 900px; height: 150px; } div.Kukaku2_1 { background-color:green; width: 300px; height: 25px } div.Kukaku2_2 { background-color:aqua; width: 300px; height: 25px } div.Kukaku2_3 { background-color:gray; width: 300px; height: 25px } div.Kukaku3_1 { background-color: black; width: 250px; height: 200px; } div.Kukaku3_2 { background-color: fuchsia; width: 650px; height: 150px } div.Kukaku3_3 { background-color: lime; width: 650px; height: 50px } div.Kukaku4_Ga { width: 450px; height: 150px } div.Kukaku4_1 { background-color: maroon; width: 450px; height: 80px } div.Kukaku4_2 { background-color: navy; width: 450px; height: 70px } div.Kukaku4_3 { background-color: red; width: 450px; height: 150px } <div class="Kukaku1"></div> <div class="Kukaku2_1"></div> <div class="Kukaku2_2"></div> <div class="Kukaku2_3"></div> <div class="Kukaku3_1"></div> <div class="Kukaku3_2"></div> <div class="Kukaku3_3"></div> <div class="Kukaku4_Ga"> <div class="Kukaku4_1"></div> <div class="Kukaku4_2"></div> </div> <div class="Kukaku4_3"></div> 回答よろしくお願いします。

    • ベストアンサー
    • HTML
  • jqueryでのプルダウンメニューについて

    jqueryでのプルダウンメニューについて こんにちは。 現在私はWEBサイトを製作中です。 メインメニューにプルダウンをつけたいのですが、うまくいきません。 メニューはロールオーバーでの表示(CSSでやってます)です。 slideDownを使用しているのですが、 マウスオーバー時にslidDownで表示された、 サブメニューの背景が、上の要素の背景になってしまいます。 つまり、下のコードでいくとid="sub"の背景がそのまま clas="sub"の"li"要素の背景になってしまうということです。 何か対策はありますでしょうか? html <div id="head"> <ul id="globalnavi"> <li id="gh"><a href=".">メニュー</a> <ul class="sub"> <li><a href="">サブメニュー</a></li> </ul> </li> </ul> </div> <div id="main"> </div> jquery $(function(){ $("ul.sub").hide(); $("ul#globalnavi>li").hover(function(){ $("ul:not(:animated)", this).slideDown();}, function(){$("ul.sub",this).slideUp();}); }); CSS #globalnavi a{ background-image : url(../img/navi.png); background-repeat : no-repeat; display : block; width : 160px; height : 36px; color : #333333; text-decoration : none; line-height : 36px; } #header #globalnavi li { list-style-type : none; float : left; width : 160px; position : relativ; } #header #globalnavi { clear : both; width : 960px; line-height : 36px; overflow : hidden; position : relative; text-align : center; display : block; } ul,li{ margin:0; padding:0; } .sub li{ float : none; background-color : #FFF; } #gh a{ background-position :0 0; } #gh a:hover{ background-position :0 -36px; } ロールオーバー自体はうまくいっています。 他にプルダウンの方法あるよ、などありましたら教えてください。 よろしくお願いします。

  • jQueryのアコーディオンメニュー 開閉の制御

    jQueryのアコーディオンメニュー 開閉の制御 こちらの「jQueryでアコーディオンメニューを作成する」の記事を参考にして (http://triplexxx.jp/archives/150) アコーディオンメニューを設置しました。 ページ遷移後でも、常に一番目のメニューが開いている状態なので、 選択しているページのメニューだけを開いている状態にしたいのですが どの部分を変更したらよいでしょうか? javascriptの if(index > 0) $this.next().hide(); の部分が開閉の指示をしている箇所かなと思うのですが 新しいコードを書ける知識がないので、教えてください。 よろしくお願いします。 html ---------------------- <ul class="acc"> <li><a href="1">category1</a> <ul class="fxmn"> <li><a href="11">menu 1-1</a></li> <li><a href="12">menu 1-2</a></li> <li><a href="13">menu 1-3</a></li> </ul> </li> <li><a href="2">category2</a> <ul class="fxmn"> <li><a href="21">menu 2-1</a></li> <li><a href="22">menu 2-2</a></li> <li><a href="23">menu 2-3</a></li> <li><a href="24">menu 2-4</a></li> </ul> </li> <li><a href="3">category3</a> <ul class="fxmn"> <li><a href="31">menu 3-1</a></li> <li><a href="32">menu 3-2</a></li> <li><a href="33">menu 3-3</a></li> <li><a href="34">menu 3-4</a></li> <li><a href="35">menu 3-5</a></li> </ul> </li> </ul> ---------------------- css ---------------------- ul.acc, ul.acc li ul { margin: 0; padding: 0; list-style: none; } ul.acc a{ display: block; height: 30px; line-height: 30px; color: #feffff; } ul.acc { background-color: #185AAC; } ul.acc li ul { background-color: #A6B5E2; } ---------------------- javascript ---------------------- var j$ = jQuery; j$(function(){ j$(".acc").each(function(){ j$("li > a", this).each(function(index){ var $this = j$(this); if(index > 0) $this.next().hide(); $this.click(function(){ var params = {height:"toggle", opacity:"toggle"}; j$(this).next().animate(params).parent().siblings() .children("ul:visible").animate(params); }); }); }); }); ----------------------

    • ベストアンサー
    • AJAX
  • html5+jqueryでリンクが反映されない

    html5+css3でスマートフォン向けサイトをコーディングしています。 タブナビゲーションを作りたくて、ちょうど良いサンプルを見つけて使わせていただきました。 http://designdrill.jp/wordpress/?p=5082 表示は思った通りに出来たのですが、テキスト部分にリンクを付けてもソース上では <div id="txt_1"><a href="http://www.google.co.jp/">googleの説明文</a></div> このように問題無く表記されているのですが、クリックしても何も反応しません。 動作確認はPCでしています。 ソースは以下の通りです。 ※オリジナルの方はjquery-1.7.min.jsでしたが、1.8.2使用です。 html部分------------------- <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script> <script type="text/javascript"> $(function(){ $("#textArea>div").hide(); var select_id = 1; $("#btn_" + select_id).addClass("selected"); $("#txt_" + select_id).show(); $('#tab').on("click touchstart", "li:not(.selected)",function() { var click_id = this.id.split("_")[1]; var myColor = $("#btn_" + click_id).css("background-color"); $("#textArea").css("background-color", myColor); //alert(myColor) $("#btn_" + select_id).removeClass("selected"); $("#txt_" + select_id).hide(); $("#btn_" + click_id).addClass("selected"); $("#txt_" + click_id).show(); select_id = click_id; }) }) </script> </head> <body> <section id="tab"> <ul> <li id="btn_1" class="yellow">google</li> <li id="btn_2" class="pink">yahoo</li> <li id="btn_3" class="blue">apple</li> </ul> <div id="textArea"> <div id="txt_1"><a href="http://www.google.co.jp/">googleの説明文</a></div> <div id="txt_2">yahooの説明文</div> <div id="txt_3">appleの説明文</div> </div> </section> css部分------------------- #tab { -webkit-tap-highlight-color: rgba(0,0,0,0); /* デフォルトのタップハイライトを停止 */ } #tab ul { margin: 10px; } #tab ul li { float: left; padding:5px 15px 5px 15px; border-top: 1px #ddd solid; border-left: 1px #ddd solid; border-right: 1px #ddd solid; -webkit-border-top-left-radius: 8px; -webkit-border-top-right-radius: 8px; color: #999; height:15px; line-height:15px; margin: 5px 0px 0px 5px; } #tab ul li.selected { color: #000; height:20px; line-height:20px; margin: 0px 0px 0px 5px; } #textArea{ position:relative; top:-1px; z-index:-1; clear:left; background-color:#ffd; margin:0px 10px 10px 10px; padding:10px; height:100px; border: 1px #ddd solid; -webkit-border-radius: 5px; } .yellow{ background-color:#ffd; } .pink{ background-color:#fdf; } .blue{ background-color:#dff; } 見た目とタブをクリックして同一ページ内で遷移する動きは希望通りですが、リンクが反映されない点だけが難点です。 (テキスト内のリンクは内容上必須です) 今現在、完全に煮詰まっていますのでヒントだけでもいただけたらと思い投稿しました。 よろしくお願い致します。

    • ベストアンサー
    • HTML
  • jqueryによるアコーディオン表示

    http://liginc.co.jp/web/js/jquery/34048 上記サイトを参照してjqueryによるアコーディオン表示をやってみました。 上記サイトのデモではアコーディオンメニューをクリックするとその下に 「アコーディオンメニューが開く」という文字列が表示されます。 しかし、私の環境ではその文字列がアコーディオンメニューより右にずれて表示(下記表示イメージ) されてしまいます。 【表示イメージ】 アコーディオンメニュー1     アコーディオンメニュー アコーディオンメニュー2     アコーディオンメニュー アコーディオンメニュー3     アコーディオンメニュー 下記が実際に書いたHTMLなのですがCSSをどのように修正すればデモのように アコーディオンメニューが表示されますでしょうか。 また、下記サンプルではアコーディオンメニュー1が開いたときに表示する文字列を 改行しているのですが<BR>タグで開業すると1行目と2行目の間が大きく開いてしまいます。 line-height を調整すれば行間の隙間が調整できるのですが1行目の位置まで変更 されてしまいます。1行目の位置はそのままに、行間の隙間を調整することはできますでしょうか。 【HTML】 <html> <head> <meta charset="UTF-8" /> <script type="text/javascript" src="../jquery-1.6.1.min.js"></script> <script type="text/javascript"> $(function(){ $("#acMenu dt").click(function() { $(this).next().slideToggle(); $(this).toggleClass("active"); }); }); </script> <title>CSS</title> <style type="text/css"> #acMenu dt{ display:block; width:250px; height:50px; line-height:50px; text-align:center; border:#666 1px solid; cursor:pointer; background:url(../images/i_swich.png) 220px -69px no-repeat; padding-right:15px; } #acMenu dd{ background:#f2f2f2; width:250px; height:150px; line-height:50px; text-align:center; border:#666 1px solid; display:none; } #acMenu dt.active{ background:url(../images/i_swich.png) 220px 18px no-repeat; } </style> </head> <body> <dl id="acMenu"> <dt>アコーディオンメニュー1</dt> <dd>アコーディオンメニュー1が開く。<BR>改行した。</dd> <dt>アコーディオンメニュー2</dt> <dd>アコーディオンメニュー2が開く。</dd> <dt>アコーディオンメニュー3</dt> <dd>アコーディオンメニュー3が開く。</dd> </dl> </body> </html>

    • ベストアンサー
    • CSS
  • CSS:区画のレイアウト1

    現在、CSSの練習中なんですが、 http://kokoro.es.land.to/HTML/Rensyuu.html 上記のURLで、最終的にURL内の下の図(CSSによる区画のレイアウト)のようなレイアウトにしたいのですが、Kukaku4_3(class名、色:red)のところで画面のあるとおり、Kukaku4_2(class名、色:navy)から下の方に範囲が伸びてしまい、うまくいきません。ほかにもいろいろ試したのですが、URL内の下の図(CSSによる区画のレイアウト)のようにするにはどうすればよいでしょうか? 回答よろしくお願いします。 div { float: left;} div.Kukaku1 { background-color:blue; width: 900px; height: 179px } div.Kukaku2_1 { background-color:green; width: 300px; height: 20px } div.Kukaku2_2 { background-color:aqua; width: 300px; height: 20px } div.Kukaku2_3 { background-color:gray; width: 300px; height: 20px } div.Kukaku3_1 { background-color: black; width: 250px; height: 300px; } div.Kukaku3_2 { background-color: fuchsia; width: 650px; height: 150px } div.Kukaku3_3 { background-color: lime; width: 650px; height: 150px } div.Kukaku4_1 { background-color: maroon; width: 500px; height: 80px } div.Kukaku4_2 { background-color: navy; width: 500px; height: 70px } div.Kukaku4_3 { background-color: red; width: 400px; height: 150px }

    • ベストアンサー
    • HTML

専門家に質問してみよう