首页 > 其他分享 >jQuery下拉选择框美化插件select-mania

jQuery下拉选择框美化插件select-mania

时间:2024-12-21 17:22:18浏览次数:3  
标签:jQuery 插件 fa theme mania data select

select-mania是一款jQuery下拉选择框美化插件。该插件可以将普通的select下拉选择框转换漂亮的下拉选择框,并且转换后的下拉选择框带搜索功能,可通过AJAX获取数据,带多种主题,还可以自定义主题等。

 

在线预览   下载

 

 使用方法

在页面中引入select-mania.css和select-mania.js文件。

< link rel="stylesheet" href="css/select-mania.css">
< script src="js/select-mania.js" type="text/javascript">

该下拉选择框自带5种主题,使用是要引入相应的主题CSS文件。

< link href="src/themes/select-mania-theme-darkblue.css" rel="stylesheet">
< link href="src/themes/select-mania-theme-green.css" rel="stylesheet">
< link href="src/themes/select-mania-theme-orange.css" rel="stylesheet">
< link href="src/themes/select-mania-theme-red.css" rel="stylesheet">
< link href="src/themes/select-mania-theme-square.css" rel="stylesheet">
 HTML结构

该插件可以将任意select选择框进行转换,你还可以为每个选项设置一个小图标。例如:

< optgroup data-icon="fa fa-share" label="Group">
  < option value="1" data-icon="fa fa-facebook">Facebook
  < option value="1" data-icon="fa fa-Twitter">Twitter
  < option value="1" data-icon="fa fa-google-plus">Google+
  ...
                  
 初始化插件

select-mania下拉选择框插件的使用非常简单,初始化方法如下:

$( 'target-selector' ).selectMania();
//带配置参数
$( 'target-selector' ).selectMania({
    //配置参数
});

 配置参数

select-mania下拉选择框插件的可用配置参数如下:

参数 默认值 描述
width '100%' 下拉选择框的宽度。必须是有效的CSS长度值。可以在select元素上通过data-width属性来使用。
size 'medium' 下拉选择框的尺寸。可选值有:'tiny', 'small', 'medium', 'large'。可以在select元素上通过data-size属性来使用。
themes [] 主题名称的数组。主题的名称可以在select-mania-theme-[主题名称].css找到。你也可以自己创建一个主题。
scrollContainer null select下拉框可滚动的容器的选择器或元素。
placeholder 'Select an item' 占位符文本。可以在select元素上通过data-placeholder属性来使用。
removable false 设置为true时可以删除已选择的选项。可以在select元素上通过data-removable属性来使用。
empty false 设置为true时将强制在初始化时情况选项。可以在select元素上通过data-empty属性来使用。
search false 设置为true时将显示搜索框,并允许进行选项搜索。可以在select元素上通过data-search属性来使用。
ajax false 插件可以在选项向下滚动时通过ajax来调用数据,并执行ajax查询。关于ajax参数,请看后面的详细解释。
data {} 该参数作为ajax的参数使用。

ajax参数:为了使用ajax参数,你必须向下面这样设置ajax参数:

function (search, page, data, callback) {
    //send back html options to select-mania
    callback(hmtlOptions);
}                  

这个函数有4个参数:

  • search:当前搜索框中的值。
  • page:请求的页码。
  • data:提供自定义数据。
  • callback:成功之后的回调函数。

执行成功之后的回调函数中的数据必须是一串HTML代码或jQuery / Dom元素。例如:

ajax:  function (search, page, data, callback) {
    $.ajax({
        type:  'POST' , 
        url:  'myAjaxScript.php' , 
        data: {
            search: search, 
            page: page, 
            custom: data.custom
        }, 
        success:  function (html) {
            callback(html);
        }
    });
}                

 可选配置参数

select-mania下拉选择框插件支持Optgroup元素。

< optgroup label="Group">
    < option value="1">Item
                 

在每个选项之前你还可以设置一个小图标。通过data-icon属性来设置图标,插件完全支持font-awesome字体图标。

< optgroup data-icon="fa fa-user" label="Group">
    < option value="1" data-icon="fa fa-user">Item
             

你还可以禁用一个选项组。

< optgroup label="Group" disabled>
    < option value="1" disabled>Item
         

任何被选择的选项都被设置一个选项值。

< option value="1" selected>Item   

另外还有一个全局设置参数的方法:

$.selectManiaSetup({
    /* 全局配置参数 */
});

 方法

select-mania下拉选择框插件的可用方法有:

  • init:初始化方法。
    //simple call
    $( 'target-selector' ).selectMania({ /*settings*/ });
    //explicit call
    $( 'target-selector' ).selectMania( 'init' , { /*settings*/ });
  • update:在目标元素上更新插件。
    $( 'target-selector' ).selectMania( 'update' );
  • destroy:销毁指定的select-mania下拉选择框。
    $( 'target-selector' ).selectMania( 'destroy' );
  • check:这个方法只能在单一元素上使用,返回true表示目标元素上已经进行了初始化。
    if ($( 'target-selector' ).selectMania( 'check' )) {
        // select-mania is initialized!
    }
  • get:这个方法只能在单一元素上使用,用于获取当前选择的值。
    var values = $( 'select' ).selectMania( 'get' );
  • set:这个方法只能在单一元素上使用,用于为下拉选择框设置新的值。
    $( 'target-selector' ).selectMania( 'set' , [
        {
            value:  '20' , 
            text:  'Value number twenty'
        }, 
        {
            value:  '60' , 
            text:  'Value number sixty'
        }
    ]);
  • clear:在目标元素上情况已选择的值。
    $( 'target-selector' ).selectMania( 'clear' );

 自定义主题

如果你需要自定义主题,按下面来进行。

/* SELECTMANIA ELEMENT */
.select-mania-theme-[CHANGE-THE-NAME-HERE] .select-mania-inner {  border :  1px solid #D6D6D6 ; }

/* SELECTED VALUES */
.select-mania-theme-[CHANGE-THE-NAME-HERE].select-mania.select-mania-multiple .select-mania-value {
 border :  1px solid [YOUR-COLOR];
 background-color : [YOUR-COLOR];  color :  white ; }

/*  DROPDOWN */
.select-mania-theme-[CHANGE-THE-NAME-HERE] .select-mania {  border :  1px solid #D6D6D6 ; }

.select-mania-theme-[CHANGE-THE-NAME-HERE] .select-mania-search-input {
  border :  1px solid #D6D6D6 ;
  color :  #5A5A5A ;
}

.select-mania-theme-[CHANGE-THE-NAME-HERE] .select-mania-item:hover {  background :[YOUR-HOVER-COLOR];
}

.select-mania-theme-[CHANGE-THE-NAME-HERE] .select-mania-item.select-mania-selected {
 background : [YOUR-COLOR];  color :  white ; }

 

标签:jQuery,插件,fa,theme,mania,data,select
From: https://www.cnblogs.com/skonw/p/18620958

相关文章

  • jquery动画表情插件
    jquery.mb.emoticons.js是一款jquery动画表情插件。它允许你通过面板拾取某个表情符号,然后可以通过这些表情相应的关键字符号将它们转换为gif动画表情。 在线预览  下载  使用方法在页面中引入jquery和jquery.mb.emoticons.js文件。<scriptsrc="js/jquery.min.js......
  • HTML5 tooltips工具提示jquery插件
    tooltip.js是一款HTML5tooltips工具提示jquery插件。tooltip.js可以通过js或html5data属性来实例化一个tooltip。在线预览  下载 它的特点还有:可以自定义tooltip动画。内置暗色和亮色两种主题。可以自定义文字和阴影的颜色等属性。允许动态的改变tooltip的内容。......
  • 封装一个类似jquery的$功能的方法
    在前端开发中,jQuery的$功能非常强大且方便,它允许开发者通过选择器快速获取和操作DOM元素。如果你想要封装一个类似的功能,可以使用原生的JavaScript来实现。以下是一个简单的示例,展示如何封装一个类似jQuery$函数的基础版本:(function(global){var$=function(se......
  • zenoh s3 存储插件使用
    s3存储插件可以方便的将数据持久化到对象存储中,同时基于s3插件的特点以及zenoh的能力实现方便的数据读写分离参考玩法可以将数据写入到s3中,同时对于不同的策略可以实现读写分离(可以基于数据复制以及基于zenoh的数据路由),玩法特别多参考配置zenohrouter配置{"id":"1......
  • vscode不同项目使用不同插件
    转载请注明出处:小帆的帆的博客在使用vscode开发不同项目时可能会用到不同的插件。手动管理不够优雅,本文介绍使用Profiles的方式的来管理不同项目的插件。手动管理不同项目的插件本来vscode安装了有三个插件这时需要新建一个项目,新安装了三个插件。但是新老插件之间存在......
  • jquery loading遮罩层插件
    busy-load是一款灵活的jqueryloading遮罩层插件。它可以在加载的时候为容器添加一个遮罩层,并显示loading效果。loader可以是字体图标,图片,文字等,非常灵活方便。在线预览  下载  使用方法在页面中引入jquery和busy-load相关文件。<scriptsrc="http://code.jquery.com/......
  • 无插件H5播放器EasyPlayer.js如果要达到原生播放的效果,应怎么操作?
    随着流媒体技术的迅速发展,H5流媒体播放器已成为现代网络视频播放的重要工具。其中,EasyPlayer.js播放器作为一款功能强大的H5播放器,凭借其全面的协议支持、多种解码方式以及跨平台兼容性,赢得了广泛的关注和应用。那么播放器如果想要达到原生播放的效果,我们应该怎么做呢?1、延时优......
  • 支持移动手机的纯js lightbox插件GLightbox
    GLightbox是一款支持移动手机的纯jslightbox插件。GLightbox可以支持图片,视频,内联内容和iframes等,非常强大。 在线演示 下载 使用方法在页面中引入glightbox.css和glightbox.js文件。<linkhref="glightbox.css"rel="stylesheet"><scriptsrc="glightbox.js"type=......
  • jquery多国语言切换特效
    这是一款实现多国语言切换的jquery特效。在这个示例中,通过简单的js代码,实现包括中文和英文在内的7种不同国家语言的切换效果。 在线预览 下载 使用方法在页面中引入jquery和style.css。<linkrel="stylesheet"href="css/style.css"><scripttype="text/javascr......
  • EverEdit插件:CHM助手说明
    1.1基本信息  CHM助手是一款EverEdit文本编辑器插件(脚本),使用Javascript语言编写,脚本结合EverEdit提供的基础功能,完成html文件的格式整理、chm工程文件及附属文件的生成及编译等。  当前版本:1.0.0  插件作者:太阳雨1.2插件功能  下图是CHM助手的功能菜单,选择......