我在我的网站上有一个 3 菜单。
desktop= 经典的 html 菜单 + superfish jquery
mobile= 有 slicknav jquery 菜单(包括桌面的每个菜单)
现在我的问题是在 slicknav 上包含 superfish 的静态菜单。
为此,我想创建一个条件,当屏幕尺寸减小时,用 slicknav 类更改 superfish 菜单类。
问题:当尝试使用示例时,更改类的简单脚本不起作用:
<script>
function resize() {
if ( $(window).width() < 739) {
$("#nullo").toggleClass('sf-menu cambioclasse2');
}
else {
$("#nullo").toggleClass('sf-menu sf-menu');
}
}
$(window).on("resize", resize);
resize(); // call once initially
</script>
这是菜单的一个例子
<div id="header" class="clearfix">
<ul id="top-menu">
<ul id="nullo" class="sf-menu">
<li>
<a class="tito" href="/amministra/"><img src="/inc/files/images/adminplus.png"></a><div class="ams">AMMINISTRA</div>
<ul>
<li>
<a class="tab_amministra" href="/amministra/gestione_commerciale/" title="">
Commerciale </a>
</li>
<li>
<a class="tab_amministra" href="/amministra/gestione_eccellenze/" title="">
Eccellenze </a>
</li>
<li>
<a class="tab_amministra" href="/amministra/gestione_aree/" title="">
Aree </a>
</li>
<li>
<a class="tab_amministra" href="/amministra/gestione_contabile/" title="">
Contabile </a>
</li>
<li>
<a class="tab_amministra" href="/amministra/gestione_certificazioni/" title="">
Certificazioni </a>
</li>
<li>
<a class="tab_amministra" href="/amministra/gestione_compensi/" title="">
Compensi </a>
</li>
<li>
<a class="tab_amministra" href="/amministra/gestione_trattative/" title="">
Trattative </a>
</li>
<li>
<a class="tab_amministra" href="/amministra/gestione_club/" title="">
Club </a>
</li>
<li>
<a class="tab_amministra" href="/amministra/gestione_guida/" title="">
Guida </a>
</li>
<li>
<a class="tab_amministra" href="/amministra/gestione_pagine/" title="">
Pagine </a>
</li>
<li>
<a class="tab_amministra" href="/amministra/gestione_mailing/" title="">
Mailing </a>
</li>
<li>
<a class="tab_amministra" href="/amministra/gestione_report/" title="">
Report </a>
</li>
<li>
<a class="tab_amministra" href="/amministra/gestione_batching/" title="">
Batching </a>
</li>
<li>
<a class="tab_amministra" href="/amministra/gestione_temi_seo/" title="">
Classificazione </a>
</li>
<li>
<a class="tab_amministra" href="/amministra/gestione_visite_pagine/" title="">
VIsite pagine </a>
</li>
</ul>
</li>
</ul>
<li><a href="/">Home</a></li>
<li>
<a href="/vacanze_weekend/">
Vacanze </a>
</li>
<li>
<a href="/matrimoni/">
Matrimoni </a>
</li>
<li>
<a href="/meeting/">
Meeting </a>
</li>
</li>
<li></li>
这是因为 slicknav 重建没有 id 的菜单的输出,所以脚本不起作用,因为不存在 id "nullo"
现在如何只用类而不用 id 创建条件?
或者可以对 slicknav 进行更改?
更新::我测试了这个脚本,如果在大屏幕(superfish)中打开页面页面并在移动屏幕(slicknav)中缩小页面后,这个工作,但如果打开小尺寸页面(slicknav)并进入大屏幕后不起作用(超级鱼)。
<script>
function resize() {
if ( $(window).width() > 739) {
$("#nullo").toggleClass('sf-menu sf-menu');
}
else {
}
}
$(window).on("resize", resize);
resize(); // call once initially
</script>
<script>
function resize() {
if ( $(window).width() < 739) {
$(".sf-menu").toggleClass('sf-menu cambioclasse2');
}
else {
}
}
$(window).on("resize", resize);
resize();
</script>
为什么 ?
解决了这个异常代码,我该如何优化它?:
<script>
if ( $(window).width() > 739) {
$("#nullo").toggleClass('cambioclasse2 sf-menu');
}
else {
}
</script>
<script>
function resize() {
if ( $(window).width() > 739) {
$("#nullo").toggleClass('cambioclasse2 sf-menu');
}
else {
}
}
$(window).on("resize", resize);
resize();
</script>
<script>
function resize() {
if ( $(window).width() > 739) {
$("#nullo").toggleClass('sf-menu sf-menu');
}
else {
}
}
$(window).on("resize", resize);
resize(); // call once initially
</script>
<script>
function resize() {
if ( $(window).width() < 739) {
$(".sf-menu").toggleClass('sf-menu cambioclasse2');
}
else {
}
}
$(window).on("resize", resize);
resize();
</script>