0
我已经整理了一个可以很好地工作的手风琴脚本(没有跨浏览器测试过),并且允许每个抽屉中的大量内容可以在屏幕上访问和显示。很多时候手风琴打开后会导致定位问题。无论如何,我正在使用的代码有一个切换活动功能,并在点击时调用滚动功能。手风琴功能
function toggleActive(link){ // Set anchor to active
if ($(link).hasClass("active")) {
$(link).removeClass("active");
} else {
$(link).addClass("active");
};
};
function scrollToElement(selector, time, verticalOffset) { // param 1 = id, param 2 = speed
time = typeof(time) != 'undefined' ? time : 1000;
verticalOffset = typeof(verticalOffset) != 'undefined' ? verticalOffset : 0;
element = $(selector);
offset = element.offset();
offsetTop = offset.top + verticalOffset;
$('html, body').animate({scrollTop: offsetTop }, time);
}
$('#accordion a').click(function(e) {
var link = '#' + event.target.id
$(".tab-content").slideUp();
$(".tab").removeClass("active");
toggleActive(link);
$(link).next().slideToggle("fast");
setTimeout(function() {
scrollToElement($(link), 500);
}, 500);
e.preventDefault();
});
所以当点击时,所有的标签都关闭并且处于非活动状态,然后打开目标“抽屉”并激活。如果由于任何原因您点击一个已经“活动”的抽屉,它会再次运行脚本。我想要做的就是放置一条IF语句,确定你刚刚点击的内容是否已经打开,然后关闭该抽屉。提前致谢。我不知道为什么这会让我头痛。
看起来,按钮中的IF语句的语法不正确。在某处丢失“)”。我通常不会在IF语句中调用函数,所以我不太确定。谢谢! – user3817083
没关系我修复它。谢谢你的工作!你达人! – user3817083
不客气我很高兴如果这是有用的:) –