• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:jqueryで要素を別要素に表示したいが重なる)

jqueryで要素を別要素に表示したいが重なる

このQ&Aのポイント
  • jqueryを使用して要素を別要素に表示する際に、重なって表示される問題が発生しています。
  • 重なりを避けるためには、クリックした要素に対して表示する要素を切り替えるプログラムを修正する必要があります。
  • 具体的な修正方法は不明ですが、非表示に設定している要素を表示する際に同じ処理を適用する必要があるでしょう。

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

  • ベストアンサー
  • ONEONE
  • ベストアンサー率48% (279/575)
回答No.1

いまいち動作の理解ができていないのですが、 カートとおっしゃっていますが商品のではないのでしょうか? とりあえず書いてみたのでjavascriptの部分を下記にしてみてください。 ※ $('.switchButton').click(function(){})内のみ書きなおしています。 ※ $(function (){ や $(document).ready(function(){は何度も書かなくてよいです。 ※ 表示非表示は show(), hide()を使うのが簡単かと思います。 $(function () { $('#big').attr('src', $('.menu img:first').attr('src')); $('.menu img').click(function () { $('#big').attr('src', $(this).attr('src')); }); $ (".content:not('.hover + .content')").hide(); $ (".menu").click(function(){ $(".menu").removeClass("hover"); $(this).addClass("hover"); $(".content:not('.hover + .content')").fadeOut(); $(".hover + .content").fadeIn(); }); $('.itemshow').load('A.html'); $(".cart").hide(); $('.switchButton').click(function(){ var loadContents = $(this).attr('src'); $('.itemshow').load(loadContents+'.html'); $obj = $(this).find(".cart").clone(); $(".cartpanel").empty(); $('.cartpanel').append($obj.show()); }); });

noname#259973
質問者

お礼

ONEONE様 ありがとうございます! 希望していた通りの動作になりました。 知識がないもので色々なサイトを調べたものの emptyやappendといったDOM操作があるということにさえ行き着きませんでした。 本当に感謝しています。有難うございました。

関連するQ&A