Jquery 调整窗口大小时,列表不会重新出现
我用CSS和jQuery制作了一个下拉菜单。如果缩小窗口,移动导航显示正常,但如果展开并关闭菜单,然后将窗口调整为更大的尺寸,则桌面导航不会重新显示,因为内嵌显示:无是通过滑动切换添加的。我想不出,为了我的生命,当窗口再次增大时,如何让菜单重新出现 HTML jQueryJquery 调整窗口大小时,列表不会重新出现,jquery,slidetoggle,Jquery,Slidetoggle,我用CSS和jQuery制作了一个下拉菜单。如果缩小窗口,移动导航显示正常,但如果展开并关闭菜单,然后将窗口调整为更大的尺寸,则桌面导航不会重新显示,因为内嵌显示:无是通过滑动切换添加的。我想不出,为了我的生命,当窗口再次增大时,如何让菜单重新出现 HTML jQuery var $j = jQuery.noConflict(); $j(document).ready(function () { $j('ul.primary li').click(function () { var a = th
var $j = jQuery.noConflict();
$j(document).ready(function () {
$j('ul.primary li').click(function () {
var a = this;
if ($j('ul', this).is(':visible')) {
$j('ul', this).slideUp(function () {
$j(a).removeClass('active')
})
} else {
$j('ul.drop').slideUp();
$j('ul.primary li').removeClass('active');
$j('ul', this).slideDown();
$j(a).addClass('active')
}
});
$j('body').click(function (a) {
if (!$j(a.target).is('a')) {
$j('ul.drop').slideUp();
$j('ul.primary li').removeClass('active')
}
});
$j(function () {
$j('.mobile-nav').click(function (e) {
$j('.primary').slideToggle(150, "swing");
e.stopPropagation()
});
$j(window).resize(function() {
$j('ul.drop').slideUp();
$j('ul.primary li').removeClass('active')
});
})
});
以下是完整的标记和jQuery:
非常感谢您的帮助。我找到的最佳解决方案是在windowResize函数中添加removeAttr,如下所示:
$j(window).resize(function() {
$j('ul.drop').slideUp();
$j('ul.primary li').removeClass('active')
});
这将在将窗口调整为桌面大小时删除移动视图导致的显示:无,但允许在移动视图中查看时再次应用显示。您可以使用此小片段“取消应用”可能应用于列表且在调整大小时未删除的
style=“display:none;”“
。这会将其重置为显示:(此处无)代码>当窗口大小调整到768像素以上时
$(function(){
$(window).resize(function(){
if($(this).width() >= 768){
$('#your-element-name').css('display', '');
}
})
.resize();
});
无法重现您在小提琴中遇到的错误。如果转到“移动”视图,展开顶级下拉列表,然后收缩,然后调整大小为“桌面”视图,则列表将消失。下面是一个链接,链接到一个关于错误发生的视频:
$j(window).resize(function() {
$j('ul.drop').slideUp();
$j('ul.primary li').removeClass('active')
});
$(function(){
$(window).resize(function(){
if($(this).width() >= 768){
$('#your-element-name').css('display', '');
}
})
.resize();
});