热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

交互式左右滑动导航菜单设计

本文介绍了一种使用HTML和JavaScript实现的左右可点击滑动导航菜单的方法,适用于需要展示多个链接或项目的网页布局。

交互式左右滑动导航菜单

本文将指导您如何创建一个支持左右滑动的导航菜单,该菜单能够有效地展示多个项目,并通过简单的点击操作实现内容的滚动显示。

HTML结构:

以下是实现此功能的基本HTML代码示例:















上述代码定义了一个基本的HTML页面,其中包含了一个无序列表作为导航菜单项,以及两个按钮用于控制滑动方向。

CSS样式:

为了使导航菜单看起来更加美观,我们添加了一些CSS样式:

.slider {
border: 1px solid #000;
padding: 4px;
width: 500px;
overflow: hidden;
}

.menuItem {
float: left;
list-style: none;
margin-right: 10px;
}

.navigation {
cursor: pointer;
font-size: 20px;
color: blue;
text-decoration: none;
}

.disabled {
opacity: 0.2;
filter: alpha(opacity=20);
}

这些样式设置了导航菜单的基本外观,包括边框、内边距、宽度等,并且对导航按钮进行了样式化处理。

Javascript插件:

接下来是实现滑动效果的核心Javascript代码:

(function($) {
var totalItems = 0,
containerSelector,
options,
firstVisibleIndex = 0,
isAnimating = false;

$.fn.simple_slider = function(settings) {
settings = $.extend({}, $.fn.simple_slider.defaults, settings);
cOntainerSelector= this.selector;
optiOns= settings;
totalItems = $(containerSelector + ' li').length;
_initialize();

function _initialize() {
$(containerSelector + ' li').each(function(index) {
if (index >= options.display) {
$(this).hide();
}
});

$('#' + options.leftID).on('click', function() {
if (!isAnimating) _slideLeft();
}).on('mouseover', function() {
$(this).addClass('navigation');
}).on('mouseout', function() {
$(this).removeClass('navigation');
});

$('#' + options.rightID).on('click', function() {
if (!isAnimating) _slideRight();
}).on('mouseover', function() {
$(this).addClass('navigation');
}).on('mouseout', function() {
$(this).removeClass('navigation');
});

$('#' + options.leftID).addClass('disabled');
_updateNavigationStatus();
}

function _slideLeft() {
isAnimating = true;
if (firstVisibleIndex > 0) {
$(containerSelector + ' li:eq(' + (firstVisibleIndex + options.display - 1) + ')').fadeOut('normal', function() {
firstVisibleIndex--;
$(containerSelector + ' li:eq(' + firstVisibleIndex + ')').fadeIn('normal', function() {
isAnimating = false;
_updateNavigationStatus();
});
});
} else {
isAnimating = false;
}
}

function _slideRight() {
isAnimating = true;
if (firstVisibleIndex + options.display $(containerSelector + ' li:eq(' + firstVisibleIndex + ')').fadeOut('normal', function() {
firstVisibleIndex++;
$(containerSelector + ' li:eq(' + (firstVisibleIndex + options.display - 1) + ')').fadeIn('normal', function() {
isAnimating = false;
_updateNavigationStatus();
});
});
} else {
isAnimating = false;
}
}

function _updateNavigationStatus() {
if (firstVisibleIndex === 0) {
$('#' + options.leftID).addClass('disabled');
} else {
$('#' + options.leftID).removeClass('disabled');
}

if (firstVisibleIndex + options.display >= totalItems) {
$('#' + options.rightID).addClass('disabled');
} else {
$('#' + options.rightID).removeClass('disabled');
}
}
};

$.fn.simple_slider.defaults = {
display: 6,
leftID: null,
rightID: null
};
})(jQuery);

这段Javascript代码定义了一个名为simple_slider的jQuery插件,它允许用户通过点击左右箭头来滑动显示列表中的项目。插件还提供了默认配置选项,如每次显示的项目数量等。

此外,该插件依赖于jQuery 1.3或更高版本。

效果展示:

效果1

效果2

效果3

来源:原文链接


推荐阅读
author-avatar
马璐720
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有