gpt4 book ai didi

jquery - 在窗口调整 jquery 大小时删除/添加类

转载 作者:行者123 更新时间:2023-12-01 07:18:11 27 4
gpt4 key购买 nike

我尝试使用以下代码来删除响应式主题中菜单的窗口大小调整时的类,但它不起作用。

 (function() {
var $window = $(window),
$ul = $('ul.nav');

$window.resize(function(){
if ($window.width() < 979) {
return $ul.addClass('float');
}else{

$ul.removeClass('float')};
}).trigger('resize');
});

.float 不是用 .css 定义的。如果子菜单(在管理区域中动态生成)变得太大而无法容纳在容器中,它就会出现。

这是当子菜单太大时生成“ float 效果”的代码

   $('.float > li.dropdown > a + ul').each(function(index, element) {
// IE6 & IE7 Fixes
if ($.browser.msie && ($.browser.version == 7 || $.browser.version == 6)) {
var category = $(element).find('a');
var columns = $(element).find('ul').length;

$(element).css('width', (columns * 143) + 'px');
$(element).find('ul').css('float', 'left');
}

var menu = $('.float').offset();
var dropdown = $(this).parent().offset();

i = (dropdown.left + $(this).outerWidth()) - (menu.left + $('.float').outerWidth());

if (i > 0) {
$(this).css('margin-left', '-' + (i + 5) + 'px');
}
});

这是菜单代码开头的一部分

    <?php if ($categories) { ?>
<div class="menu">
<ul class="nav float">
<?php foreach ($categories as $category) { ?>
<li class="dropdown"><a href="<?php echo $category['href']; ?>">
<?php echo $category['name']; ?></a>
.
.
.
.
ecc.

还有其他想法可以在窗口大小调整时删除/添加“.float”类吗?预先感谢您提供任何提示。

编辑

经过一番尝试,我找到了使用 .css 查询的替代解决方案

  @media (max-width: 979px) 

现在它可以工作了,但我仍然不明白为什么 jQuery 调整大小不起作用。

最佳答案

希望能有所帮助。

 var $window = $(window),
$ul = $('ul.nav');

$(window).on('resize', function () {
if ($window.width() < 979) {
$ul.addClass('float');
}else{

$ul.removeClass('float')};
});

关于jquery - 在窗口调整 jquery 大小时删除/添加类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16928978/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com