{"id":23156507,"url":"https://github.com/thecreation/jquery-navtoselect","last_synced_at":"2026-04-20T09:00:47.014Z","repository":{"id":5176268,"uuid":"6350055","full_name":"thecreation/jquery-navToSelect","owner":"thecreation","description":"navToSelect is jQuery plugin used to convert your website navigation into a select drop-down menu for small screen devices.","archived":false,"fork":false,"pushed_at":"2017-09-19T11:53:24.000Z","size":321,"stargazers_count":5,"open_issues_count":2,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2026-04-19T15:16:13.250Z","etag":null,"topics":["jquery-plugin","menu","navigation"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"Monobjc/monobjc-samples","license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thecreation.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-10-23T09:47:56.000Z","updated_at":"2021-12-04T09:54:59.000Z","dependencies_parsed_at":"2022-07-06T05:31:09.980Z","dependency_job_id":null,"html_url":"https://github.com/thecreation/jquery-navToSelect","commit_stats":null,"previous_names":["amazingsurge/jquery-navtoselect"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/thecreation/jquery-navToSelect","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thecreation%2Fjquery-navToSelect","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thecreation%2Fjquery-navToSelect/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thecreation%2Fjquery-navToSelect/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thecreation%2Fjquery-navToSelect/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thecreation","download_url":"https://codeload.github.com/thecreation/jquery-navToSelect/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thecreation%2Fjquery-navToSelect/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32040353,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-20T00:18:06.643Z","status":"online","status_checked_at":"2026-04-20T02:00:06.527Z","response_time":94,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["jquery-plugin","menu","navigation"],"created_at":"2024-12-17T21:13:52.053Z","updated_at":"2026-04-20T09:00:46.957Z","avatar_url":"https://github.com/thecreation.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# [jQuery navToSelect](https://github.com/amazingSurge/jquery-navToSelect) ![bower][bower-image] [![NPM version][npm-image]][npm-url] [![Dependency Status][daviddm-image]][daviddm-url] [![prs-welcome]](#contributing)\n\n\u003e A jQuery plugin used to convert your website navigation into a select drop-down menu for small screen devices.\n\n## Table of contents\n- [Main files](#main-files)\n- [Quick start](#quick-start)\n- [Requirements](#requirements)\n- [Usage](#usage)\n- [Examples](#examples)\n- [Options](#options)\n- [Methods](#methods)\n- [Events](#events)\n- [No conflict](#no-conflict)\n- [Browser support](#browser-support)\n- [Contributing](#contributing)\n- [Development](#development)\n- [Changelog](#changelog)\n- [Copyright and license](#copyright-and-license)\n\n## Main files\n```\ndist/\n├── jquery-navToSelect.js\n├── jquery-navToSelect.es.js\n├── jquery-navToSelect.min.js\n└── css/\n    ├── navToSelect.css\n    └── navToSelect.min.css\n```\n\n## Quick start\nSeveral quick start options are available:\n#### Download the latest build\n\n * [Development](https://raw.githubusercontent.com/amazingSurge/jquery-navToSelect/master/dist/jquery-navToSelect.js) - unminified\n * [Production](https://raw.githubusercontent.com/amazingSurge/jquery-navToSelect/master/dist/jquery-navToSelect.min.js) - minified\n\n#### Install From Bower\n```sh\nbower install jquery-navToSelect --save\n```\n\n#### Install From Npm\n```sh\nnpm install jquery-navToSelect --save\n```\n\n#### Install From Yarn\n```sh\nyarn add jquery-navToSelect\n```\n\n#### Build From Source\nIf you want build from source:\n\n```sh\ngit clone git@github.com:amazingSurge/jquery-navToSelect.git\ncd jquery-navToSelect\nnpm install\nnpm install -g gulp-cli babel-cli\ngulp build\n```\n\nDone!\n\n## Requirements\n`jquery-navToSelect` requires the latest version of [`jQuery`](https://jquery.com/download/).\n\n## Usage\n#### Including files:\n\n```html\n\u003clink rel=\"stylesheet\" href=\"/path/to/navToSelect.css\"\u003e\n\u003cscript src=\"/path/to/jquery.js\"\u003e\u003c/script\u003e\n\u003cscript src=\"/path/to/jquery-navToSelect.js\"\u003e\u003c/script\u003e\n```\n\n#### Required HTML structure\n\n```html\n\u003cnav id=\"nav\"\u003e\n  \u003cul\u003e\n    \u003cli\u003e\u003ca href=\"homepage.html\"\u003eHomepage\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"about.html\" class=\"active\"\u003eAbout us\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"contact.html\"\u003eContact\u003c/a\u003e\u003c/li\u003e\n  \u003c/ul\u003e\n\u003c/nav\u003e\n```\n\n#### Initialization\nAll you need to do is call the plugin on the element:\n\n```javascript\njQuery(function($) {\n  $(\"#nav \u003e ul\").navToSelect({\n    activeClass: 'active',\n    indentString: '\u0026ndash;',\n    defaultText: 'Navigate to...'\n  });\n});\n```\n\n## Examples\nThere are some example usages that you can look at to get started. They can be found in the\n[examples folder](https://github.com/amazingSurge/jquery-navToSelect/tree/master/examples).\n\n## Options\n`jquery-navToSelect` can accept an options object to alter the way it behaves. You can see the default options by call `$.navToSelect.setDefaults()`. The structure of an options object is as follows:\n\n```\n{\n  maxLevel: 4,\n  prependTo: null,\n  activeClass: 'active',\n  linkSelector: 'a:first',\n  indentString: '\u0026ndash;',\n  indentSpace: true,\n  placeholder: 'Navigate to...',\n  useOptgroup: false,\n  namespace: 'navToSelect',\n  itemFilter($li) {\n    return true;\n  },\n  getItemLabel($li) {\n    return $li.find(this.options.linkSelector).text();\n  },\n  getItemsFromList($list, level) {\n    const that = this;\n    const _items = [];\n\n    $list.children('li').each(function() {\n      const $li = $(this);\n      if (!that.options.itemFilter($li)) {\n        return;\n      }\n      const item = {\n        value: that.getItemValue($li),\n        label: that.options.getItemLabel.call(that, $li),\n        linkable: that.isLinkable($li),\n        actived: that.isActived($li)\n      };\n      if ($li.children('ul, ol').length) {\n        item.items = [];\n        $li.children('ul, ol').each(function() {\n          item.items = item.items.concat(that.options.getItemsFromList.call(that, $(this), level + 1));\n        });\n      }\n\n      _items.push(item);\n    });\n    return _items;\n  },\n  onChange() {\n    if ($(this).data('linkable') !== false) {\n      document.location.href = this.value;\n    }\n  }\n}\n```\n\n## Methods\nMethods are called on navToSelect instances through the navToSelect method itself.\nYou can also save the instances to variable for further use.\n\n```javascript\n// call directly\n$().navToSelect('destroy');\n\n// or\nvar api = $().data('navToSelect');\napi.destroy();\n```\n\n#### getSelect()\nGet select jquery object.\n```javascript\nvar $select = $().navToSelect('getSelect');\n```\n\n#### isBuilded()\nCheck if select is builded already\n```javascript\n$().navToSelect('isBuilded');\n```\n\n#### enable()\nEnable the nav to select functions.\n```javascript\n$().navToSelect('enable');\n```\n\n#### disable()\nDisable the scrollbar functions.\n```javascript\n$().navToSelect('disable');\n```\n\n#### destroy()\nDestroy the scrollbar instance.\n```javascript\n$().navToSelect('destroy');\n```\n\n## Events\n`jquery-navToSelect` provides custom events for the plugin’s unique actions. \n\n```javascript\n$('.the-element').on('navToSelect::ready', function (e) {\n  // on instance ready\n});\n\n```\n\nEvent   | Description\n------- | -----------\nready   | Fires when the instance is ready for API use.\nenable  | Fired when the `enable` instance method has been called.\ndisable | Fired when the `disable` instance method has been called.\ndestroy | Fires when an instance is destroyed. \n\n## No conflict\nIf you have to use other plugin with the same namespace, just call the `$.navToSelect.noConflict` method to revert to it.\n\n```html\n\u003cscript src=\"other-plugin.js\"\u003e\u003c/script\u003e\n\u003cscript src=\"jquery-navToSelect.js\"\u003e\u003c/script\u003e\n\u003cscript\u003e\n  $.navToSelect.noConflict();\n  // Code that uses other plugin's \"$().navToSelect\" can follow here.\n\u003c/script\u003e\n```\n\n## Browser support\n\nTested on all major browsers.\n\n| \u003cimg src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/safari/safari_32x32.png\" alt=\"Safari\"\u003e | \u003cimg src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/chrome/chrome_32x32.png\" alt=\"Chrome\"\u003e | \u003cimg src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/firefox/firefox_32x32.png\" alt=\"Firefox\"\u003e | \u003cimg src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/edge/edge_32x32.png\" alt=\"Edge\"\u003e | \u003cimg src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/internet-explorer/internet-explorer_32x32.png\" alt=\"IE\"\u003e | \u003cimg src=\"https://raw.githubusercontent.com/alrra/browser-logos/master/opera/opera_32x32.png\" alt=\"Opera\"\u003e |\n|:--:|:--:|:--:|:--:|:--:|:--:|\n| Latest ✓ | Latest ✓ | Latest ✓ | Latest ✓ | 9-11 ✓ | Latest ✓ |\n\nAs a jQuery plugin, you also need to see the [jQuery Browser Support](http://jquery.com/browser-support/).\n\n## Contributing\nAnyone and everyone is welcome to contribute. Please take a moment to\nreview the [guidelines for contributing](CONTRIBUTING.md). Make sure you're using the latest version of `jquery-navToSelect` before submitting an issue. There are several ways to help out:\n\n* [Bug reports](CONTRIBUTING.md#bug-reports)\n* [Feature requests](CONTRIBUTING.md#feature-requests)\n* [Pull requests](CONTRIBUTING.md#pull-requests)\n* Write test cases for open bug issues\n* Contribute to the documentation\n\n## Development\n`jquery-navToSelect` is built modularly and uses Gulp as a build system to build its distributable files. To install the necessary dependencies for the build system, please run:\n\n```sh\nnpm install -g gulp\nnpm install -g babel-cli\nnpm install\n```\n\nThen you can generate new distributable files from the sources, using:\n```\ngulp build\n```\n\nMore gulp tasks can be found [here](CONTRIBUTING.md#available-tasks).\n\n## Changelog\nTo see the list of recent changes, see [Releases section](https://github.com/amazingSurge/jquery-navToSelect/releases).\n\n## Copyright and license\nCopyright (C) 2016 amazingSurge.\n\nLicensed under [the LGPL license](LICENSE).\n\n[⬆ back to top](#table-of-contents)\n\n[bower-image]: https://img.shields.io/bower/v/jquery-navToSelect.svg?style=flat\n[bower-link]: https://david-dm.org/amazingSurge/jquery-navToSelect/dev-status.svg\n[npm-image]: https://badge.fury.io/js/jquery-navToSelect.svg?style=flat\n[npm-url]: https://npmjs.org/package/jquery-navToSelect\n[license]: https://img.shields.io/npm/l/jquery-navToSelect.svg?style=flat\n[prs-welcome]: https://img.shields.io/badge/PRs-welcome-brightgreen.svg\n[daviddm-image]: https://david-dm.org/amazingSurge/jquery-navToSelect.svg?style=flat\n[daviddm-url]: https://david-dm.org/amazingSurge/jquery-navToSelect","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthecreation%2Fjquery-navtoselect","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthecreation%2Fjquery-navtoselect","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthecreation%2Fjquery-navtoselect/lists"}