gpt4 book ai didi

javascript - 菜单图标切换问题 JQuery

转载 作者:行者123 更新时间:2023-11-30 12:16:39 24 4
gpt4 key购买 nike

我获得了一个切换控件,在单击时在菜单图标和 X 之间进行动画处理。它还提供了一个叠加导航。

问题是:当您点击覆盖导航上的任何链接时,它不会将 X 更改/切换回默认菜单图标。


在下面的代码片段中,我添加了 $('.cd-menu-icon').toggleClass('is-clicked'); $('.cd-header').toggleClass('menu-is-open');(第 33、34 行)初始设置控件的切换状态。

jQuery(document).ready(function($){
//if you change this breakpoint in the style.css file (or _layout.scss if you use SASS), don't forget to update this value as well
var MQL = 1170;

//primary navigation slide-in effect
if($(window).width() > MQL) {
var headerHeight = $('.cd-header').height();
$(window).on('scroll',
{
previousTop: 0
}, function () {
var currentTop = $(window).scrollTop();
//check if user is scrolling up
if (currentTop < this.previousTop ) {
//if scrolling up...
if (currentTop > 0 && $('.cd-header').hasClass('is-fixed')) {
$('.cd-header').addClass('is-visible');
} else {
$('.cd-header').removeClass('is-visible is-fixed');
}
} else {
//if scrolling down...
$('.cd-header').removeClass('is-visible');
if( currentTop > headerHeight && !$('.cd-header').hasClass('is-fixed')) $('.cd-header').addClass('is-fixed');
}
this.previousTop = currentTop;
});
}

//open/close primary navigation
$('.cd-primary-nav-trigger').on('click', function(){
$('.cd-menu-icon').toggleClass('is-clicked');
$('.cd-header').toggleClass('menu-is-open');

//in firefox transitions break when parent overflow is changed, so we need to wait for the end of the trasition to give the body an overflow hidden
if( $('.cd-primary-nav').hasClass('is-visible') ) {
$('.cd-primary-nav').removeClass('is-visible').one('webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend',function(){
$('body').removeClass('overflow-hidden');
});
} else {
$('.cd-primary-nav').addClass('is-visible').one('webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend',function(){
$('body').addClass('overflow-hidden');
});
}
});
});

希望有人能帮忙。


重现:(使用JsFiddle Example )

  1. 打开菜单(点击“汉堡包”图标框区域)
  2. 点击叠加层上的任何链接,当它出现时。 (即“1”、“2”、“3”、“4”)
  3. 结果:叠加层关闭,但菜单图标不会切换回来。

最佳答案

我认为您已经在 1, 2, 3, 4 上实现了自定义点击事件<script> 中的链接在 HTML 部分标记 (第 253 行)

只需替换 <script>标记如下:

<script>
$('.cd-primary-nav a').on('click', function(){
$('.cd-menu-icon').removeClass('is-clicked');
$('.cd-header').removeClass('menu-is-open');
$('.cd-primary-nav').removeClass('is-visible').one('webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend',function(){
$('body').removeClass('overflow-hidden');
});
});
</script>

JSFiddle:https://jsfiddle.net/c9dj010v/

关于javascript - 菜单图标切换问题 JQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32277846/

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