淘先锋技术网

首页 1 2 3 4 5 6 7

JQuery选项卡(Tabs)是现今网页设计中广泛使用的一种交互方式,可以让用户更加便捷的切换不同的内容。但是,当选项卡中的内容很多时,会导致页面加载速度变慢,影响用户体验。为此,我们可以使用JQuery选项卡滑动刷新技术,优化页面性能。

$(function () {
var $tabs = $('.tabs');
var $nav = $tabs.find('.nav');
var $navItems = $nav.find('li');
var $panels = $tabs.find('.panel');
$nav.on('click', 'a', function (e) {
e.preventDefault();
var $this = $(this);
var panelId = $this.attr('href');
$navItems.removeClass('active');
$panels.removeClass('active');
$this.closest('li').addClass('active');
$(panelId).addClass('active');
});
function refreshTabs() {
var $activeNav = $nav.find('.active');
var activeIndex = $navItems.index($activeNav);
var panelWidth = $panels.width();
var panelWrapperWidth = $panels.eq(0).parent().width();
var maxOffset = panelWidth * $panels.length - panelWrapperWidth;
var offset = -panelWidth * activeIndex;
offset = Math.max(offset, -maxOffset);
offset = Math.min(offset, 0);
$panels.css('transform', 'translateX(' + offset + 'px)');
}
$(window).on('resize', refreshTabs);
});

以上代码通过监控Windows窗口的大小变化触发选项卡的滑动刷新,当用户改变窗口大小时,选项卡不会卡在原位置,而是根据当前激活选项卡的位置,计算出选项卡应该滑动到的位置。除此之外,该方法还限制了滑动的最大/小距离,以确保选项卡不会滑出边界。