Javascript jQuery.trigger=>;选择器:切换克隆元素=循环
在克隆菜单(.original/.Cloned)上,我无法使2个切换函数中的1个正常工作 部分#1克隆菜单切换 第2部分克隆菜单切换 我知道问题是,我使用$('a')作为选择器使mobilenav:toggle触发两次,然后它将循环打开和关闭两个菜单 另一方面,移动导航切换图标未正确循环和同步,菜单抽屉处于同步状态,但循环 如果我改变Javascript jQuery.trigger=>;选择器:切换克隆元素=循环,javascript,jquery,Javascript,Jquery,在克隆菜单(.original/.Cloned)上,我无法使2个切换函数中的1个正常工作 部分#1克隆菜单切换 第2部分克隆菜单切换 我知道问题是,我使用$('a')作为选择器使mobilenav:toggle触发两次,然后它将循环打开和关闭两个菜单 另一方面,移动导航切换图标未正确循环和同步,菜单抽屉处于同步状态,但循环 如果我改变 $this = $('a'); // To $this = $(this); $('.menu').addClass('original').clone().i
$this = $('a');
// To
$this = $(this);
$('.menu').addClass('original').clone().insertAfter('.menu').addClass('cloned').css('position', 'fixed').css('top', '0').css('margin-top', '0').css('z-index', '100').removeClass('original').hide();
scrollIntervalID = setInterval(stickIt, 10);
function stickMenu() {
var orgElementPos = $('.original').offset();
orgElementTop = orgElementPos.top;
if ($(window).scrollTop() >= (orgElementTop)) {
orgElement = $('.original');
coordsOrgElement = orgElement.offset();
leftOrgElement = coordsOrgElement.left;
widthOrgElement = orgElement.css('width');
$('.cloned').css('left', leftOrgElement + 'px').css('top', 0).css('width', widthOrgElement).show();
$('.original').css('visibility', 'hidden');
$('.original>div>nav').removeAttr("id", "off-nav");
} else {
$('.cloned').hide();
$('.original>div>nav').attr("id", "off-nav");
$('.original').css('visibility', 'visible');
}
}
除了不同步的切换图标外,其他一切都可以正常工作
我已经给了这几个小时了,而我的Javascript/jQuery宏级别非常弱,这可能可以在我的第2部分的半驴解决方案中看到
观看我的杰作强>
作为一名职业选手,帮我做到这一点
编辑:在请求后从粘贴/克隆功能添加其余代码
$this = $('a');
// To
$this = $(this);
$('.menu').addClass('original').clone().insertAfter('.menu').addClass('cloned').css('position', 'fixed').css('top', '0').css('margin-top', '0').css('z-index', '100').removeClass('original').hide();
scrollIntervalID = setInterval(stickIt, 10);
function stickMenu() {
var orgElementPos = $('.original').offset();
orgElementTop = orgElementPos.top;
if ($(window).scrollTop() >= (orgElementTop)) {
orgElement = $('.original');
coordsOrgElement = orgElement.offset();
leftOrgElement = coordsOrgElement.left;
widthOrgElement = orgElement.css('width');
$('.cloned').css('left', leftOrgElement + 'px').css('top', 0).css('width', widthOrgElement).show();
$('.original').css('visibility', 'hidden');
$('.original>div>nav').removeAttr("id", "off-nav");
} else {
$('.cloned').hide();
$('.original>div>nav').attr("id", "off-nav");
$('.original').css('visibility', 'visible');
}
}
编辑:添加标记
<header class="menu" id="main-header-wrap"">
<div class="" id="main-header">
<div class="toptop"></div>
<div class="container">
<div class="row">
<div id="logotype">
</div>
<div id="menu-container" class="clearfix">
<a class="mobile-nav-toggle lines-button x skiplink">
<span class="lines"></span>
</a>
<nav>
</nav>
</div>
</div>
</div>
<nav id="off-nav">
<ul><li class=""></li></ul>
</nav>
</div>
</header>
你能发布你剩下的代码吗?@Dinmyte添加了用于克隆和粘贴菜单的代码。还需要markup@DinoMyte添加了任何感兴趣的标记