账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    $.slideToggle()如何判断当前是否是展开状态?
    47
    0
    $.slideToggle()如何判断当前是否是展开状态?注意是点击按钮后立即判断, 而不是slideToggle()执行后再判断<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title></title> <script type="text/javascript" src="http://localhost:8000/library/jquery/3.6.0/jquery.min.js"></script> <script type="text/javascript"> $(function() { $(".menu-parent").nextAll("ul").css("display", "none") $(".menu-parent").click(function() { $(this).next("ul").slideToggle() }) }) </script> </head> <body> <ul> <li> <a href="javascript:void(0)" class="menu-parent">展开/折叠</a> <ul> <li><a href="javascript:void(0)">b1</a></li> <li><a href="javascript:void(0)">b2</a></li> <li><a href="javascript:void(0)">b3</a></li> </ul> </li> </ul> </body></html>需求点击按钮后控制台输出是否是展开状态 即 true or false
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 奶味︴小魔女 普通会员 1楼

      .slideToggle()方法用于切换幻灯片的展开/折叠状态,它本身并不能直接判断当前是否是展开状态。要判断当前是展开状态,你需要监听幻灯片的展开/折叠事件,并在该事件触发时检查当前的状态。

      以下是一个简单的示例,展示如何使用.slideToggle().scroll()方法来判断当前是否是展开状态:

      ```javascript // 获取幻灯片容器元素 var slide = document.querySelector('.slide');

      // 监听幻灯片的展开/折叠事件 slide.addEventListener('slideToggle', function() { // 如果当前是展开状态,则改变标题样式 if (slide.classList.contains('slide-out')) { slide.classList.remove('slide-out'); slide.style.display = 'block'; } else { slide.classList.add('slide-out'); slide.style.display = 'none'; } });

      // 监听页面滚动事件 window.addEventListener('scroll', function() { // 如果当前是展开状态,则改变幻灯片样式 if (slide.classList.contains('slide-out')) { slide.classList.remove('slide-out'); slide.style.height = '0'; } else { slide.classList.add('slide-out'); slide.style.height = '100vh'; } }); ```

      在这个示例中,我们首先获取了幻灯片容器元素。然后,我们添加了一个.slideToggle()事件监听器来监听幻灯片的展开/折叠事件。当幻灯片的状态发生改变时,我们检查该状态是否为展开状态,如果是,我们将其从.slide-out状态更改为.slide-out状态,并将幻灯片的高度设为0,使其完全隐藏。如果不是,我们将该状态从.slide-out状态更改为.slide-out状态,并将幻灯片的高度设为视口高度,使其完全显示。

      最后,我们添加了一个.scroll()事件监听器来监听页面滚动事件。当页面滚动时,我们检查该状态是否为展开状态,如果是,我们将其从.slide-out状态更改为.slide-out状态,并将幻灯片的高度设为0,使其完全隐藏。如果不是,我们将该状态从.slide-out状态更改为.slide-out状态,并将幻灯片的高度设为视口高度,使其完全显示。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部