私のページは 2 つの側面に分かれています。左はメニュー、右は非表示の div です。レスポンシブ サイトなので、モバイルではメニューが折りたたまれます。まあ、どんなデバイスでも完璧です!しかし...リストメニューは非常に長いです。PC やタブレットの画面に最適ですが、モバイルでは画面全体に表示されるため、アイテムをクリックしても何も起こらないように見えます (もちろん! 非表示の div はメニューの下にあり、画面の外にあります!) スクロールするだけで div が表示されます! さて、試してみましたが、アイテムをクリックした後にメニューを折りたたむことができません (モバイルですぐに div を表示できます)。タイトルをクリックするだけで折りたたまれて展開されます。試してみましたが、唯一の結果は、ワイドスクリーンでもメニューを折りたたむことでした (もちろん、私が望んでいるものではありません! メニューを表示するには、ページを再度リロードする必要があります)。誰かが必要に応じてスクリプトを作成するのを手伝ってくれませんか? ここに私のサンプルhtmlとCSSがあります
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Settori d'intervento</title>
<link href="Assets/settoriTEST.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="assets/js/jquery-1.7.1.min.js"></script>
<script type="text/javascript">
$(function() {
var collapsed = true;
$('nav2>h2').click(function() {
collapsed = !collapsed;
formatSidebar();
});
$(window).resize(formatSidebar);
formatSidebar();
function formatSidebar() {
if ($(window).width() > 766) {
$('nav2').removeClass('collapsible');
$('nav2 #menuSX').show();
} else {
$('nav2').addClass('collapsible');
if (collapsed) {
$('nav2 #menuSX').hide();
$('nav2 > h2').removeClass('minus');
} else {
$('nav2 #menuSX').show();
$('nav2 > h2').addClass('minus');
}
}
};
});
</script>
<script type="text/javascript">
$(document).ready(function() {
$(".menubox").hide();
$(".menubox:first").hide();
$(".menuitem").click(function(event) {
event.preventDefault();
$(".menubox").hide();
var relatedDivID = $(this).attr('href');
$("" + relatedDivID).fadeToggle("slow","linear");
});
});
</script>
<script type="text/javascript">
$(document).ready(function(){
$('#tabs div').hide();
$('#tabs ul li a').click(function(){
$('#tabs ul li').removeClass('active');
$(this).parent().addClass('active');
var currentTab = $(this).attr('href');
$('#tabs div').hide();
$(currentTab).show();
return false;
});
});
</script>
</head>
<body >
<div id="content">
<div id="hide_show">
<nav2>
<h2>Menù </h2>
<div id="menuSX">
<ul>
<li><a class="menuitem" href="#A">A</a></li>
<li><a class="menuitem" href="#B">B</a></li>
<li><a class="menuitem" href="#C">C</a></li>
</ul>
</div>
</nav2>
<div id="Content3">
<div class="menubox" id="A">
<h2>A</h2>
</div>
<div class="menubox" id="B">
<h2>B</h2>
</div>
<div class="menubox" id="C">
<h2>C</h2>
</div>
</div>
</div>
</div>
</body>
</html>
そしてここにCSSがあります
@charset "utf-8";
/* CSS Document */
nav2 ul, nav2 ol {list-style: none; list-style-image: none; margin: 0; padding: 0;}
nav2.collapsible > h2 {
background-color: #657A81;
cursor: pointer;
}
.menuitem {
display: block;
background-color: #657A81;
margin-bottom: 0.2em;
color: #FFF;
}
.menuitem:hover {
background-color: #AE7450;
}
@media only screen and (min-width: 768px) {
nav2 > h2 {display: none;}
nav2 {
float: left;
width: 30%;
}
#hide_show {
float: left;
width: 100%;
}
#menuSX {
float: left;
width: 100%;
}
#Content3 {
float: right;
width: 69%;
}
.menubox {
width: 100%;
}
}
このフィドルでそれを見ることができます: http://jsfiddle.net/stgjB/ ありがとう