{"id":23156699,"url":"https://github.com/thecreation/jquery-asscrollable","last_synced_at":"2025-08-17T23:32:47.692Z","repository":{"id":24620141,"uuid":"28029087","full_name":"thecreation/jquery-asScrollable","owner":"thecreation","description":"A jquery plugin that make a block element scrollable.","archived":false,"fork":false,"pushed_at":"2017-10-29T10:36:29.000Z","size":546,"stargazers_count":40,"open_issues_count":5,"forks_count":16,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-12-08T12:35:06.983Z","etag":null,"topics":["jquery-plugin","scrollable","scrollbar"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"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":"2014-12-15T09:14:16.000Z","updated_at":"2021-04-01T15:48:36.000Z","dependencies_parsed_at":"2022-07-23T05:16:22.508Z","dependency_job_id":null,"html_url":"https://github.com/thecreation/jquery-asScrollable","commit_stats":null,"previous_names":["amazingsurge/jquery-asscrollable"],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thecreation%2Fjquery-asScrollable","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thecreation%2Fjquery-asScrollable/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thecreation%2Fjquery-asScrollable/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thecreation%2Fjquery-asScrollable/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thecreation","download_url":"https://codeload.github.com/thecreation/jquery-asScrollable/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230181485,"owners_count":18185938,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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","scrollable","scrollbar"],"created_at":"2024-12-17T21:14:22.908Z","updated_at":"2024-12-17T21:14:23.495Z","avatar_url":"https://github.com/thecreation.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# [jQuery asScrollable](https://github.com/amazingSurge/jquery-asScrollable) ![bower][bower-image] [![NPM version][npm-image]][npm-url] [![Dependency Status][daviddm-image]][daviddm-url] [![prs-welcome]](#contributing)\n\n\u003e A jquery plugin that make a block element scrollable.\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-asScrollable.js\n├── jquery-asScrollable.es.js\n├── jquery-asScrollable.min.js\n└── css/\n    ├── asScrollable.css\n    └── asScrollable.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-asScrollable/master/dist/jquery-asScrollable.js) - unminified\n * [Production](https://raw.githubusercontent.com/amazingSurge/jquery-asScrollable/master/dist/jquery-asScrollable.min.js) - minified\n\n#### Install From Bower\n```sh\nbower install jquery-asScrollable --save\n```\n\n#### Install From Npm\n```sh\nnpm install jquery-asScrollable --save\n```\n\n#### Install From Yarn\n```sh\nyarn add jquery-asScrollable\n```\n\n#### Build From Source\nIf you want build from source:\n\n```sh\ngit clone git@github.com:amazingSurge/jquery-asScrollable.git\ncd jquery-asScrollable\nnpm install\nnpm install -g gulp-cli babel-cli\ngulp build\n```\n\nDone!\n\n## Requirements\n`jquery-asScrollable` requires the latest version of [`jQuery`](https://jquery.com/download/), [`jquery-asScollbar`](https://github.com/amazingSurge/jquery-asScrollbar).\n\n## Usage\n#### Including files:\n\n```html\n\u003clink rel=\"stylesheet\" href=\"/path/to/asScrollbar.css\"\u003e\n\u003cscript src=\"/path/to/jquery.js\"\u003e\u003c/script\u003e\n\u003cscript src=\"/path/to/jquery-asScrollbar.js\"\u003e\u003c/script\u003e\n\u003cscript src=\"/path/to/jquery-asScrollable.js\"\u003e\u003c/script\u003e\n```\n\n#### Required HTML structure\n\n```html\n\u003cdiv class=\"example\"\u003e\n  content here\n\u003c/div\u003e\n```\n\n#### Initialization\nAll you need to do is call the plugin on the element:\n\n```javascript\njQuery(function($) {\n  $('.example').asScrollable(); \n});\n```\n\n### Better Usage\nIf we supply two wrap div for the content, the dom will not redraw which having better performances.\n\n```html\n\u003cdiv class=\"example\"\u003e\n    \u003cdiv\u003e\n        \u003cdiv\u003e\n            content here\n        \u003c/div\u003e\n    \u003c/div\u003e\n\u003c/div\u003e\n\n\u003cscript\u003e\njQuery(function($) {\n  $('.example').asScrollable({\n    contentSelector: '\u003e',\n    containerSelector: '\u003e'\n  });\n});\n\u003c/script\u003e\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-asScrollable/tree/master/examples).\n\n## Options\n`jquery-asScrollable` can accept an options object to alter the way it behaves. You can see the default options by call `$.asScrollable.setDefaults()`. The structure of an options object is as follows:\n\n```\n{\n  namespace: 'asScrollable',\n\n  skin: null,\n\n  contentSelector: null,\n  containerSelector: null,\n\n  enabledClass: 'is-enabled',\n  disabledClass: 'is-disabled',\n\n  draggingClass: 'is-dragging',\n  hoveringClass: 'is-hovering',\n  scrollingClass: 'is-scrolling',\n\n  direction: 'vertical', // vertical, horizontal, both, auto\n\n  showOnHover: true,\n  showOnBarHover: false,\n\n  duration: 500,\n  easing: 'ease-in', // linear, ease, ease-in, ease-out, ease-in-out\n\n  responsive: true,\n  throttle: 20,\n\n  scrollbar: {}\n}\n```\n\n## Methods\nMethods are called on asScrollable instances through the asScrollable method itself.\nYou can also save the instances to variable for further use.\n\n```javascript\n// call directly\n$().asScrollable('destroy');\n\n// or\nvar api = $().data('asScrollable');\napi.destroy();\n```\n\n#### scrollTo(direction, position)\nScroll the content to position in direction.\n```javascript\n// scroll to 50px in vertical\n$().asScrollable('scrollTo', 'vertical', '50');\n\n// scroll to 50% in horizontal\n$().asScrollable('scrollTo', 'horizontal', '50%');\n```\n\n#### scrollBy(direction, size)\nScroll the content by the size.\n```javascript\n$().asScrollable('scrollBy', 'vertical', '10');\n$().asScrollable('scrollBy', 'horizontal', '10%');\n\n$().asScrollable('scrollBy', 'vertical', '-10');\n$().asScrollable('scrollBy', 'horizontal', '-10%');\n```\n\n#### enable()\nEnable the scrollable functions.\n```javascript\n$().asScrollable('enable');\n```\n\n#### disable()\nDisable the scrollable functions.\n```javascript\n$().asScrollable('disable');\n```\n\n#### destroy()\nDestroy the scrollable instance.\n```javascript\n$().asScrollable('destroy');\n```\n\n## Events\n`jquery-asScrollable` provides custom events for the plugin’s unique actions. \n\n```javascript\n$('.the-element').on('asScrollable::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 `$.asScrollable.noConflict` method to revert to it.\n\n```html\n\u003cscript src=\"other-plugin.js\"\u003e\u003c/script\u003e\n\u003cscript src=\"jquery-asScrollable.js\"\u003e\u003c/script\u003e\n\u003cscript\u003e\n  $.asScrollable.noConflict();\n  // Code that uses other plugin's \"$().asScrollable\" 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-asScrollable` 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-asScrollable` 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-asScrollable/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-asScrollable.svg?style=flat\n[bower-link]: https://david-dm.org/amazingSurge/jquery-asScrollable/dev-status.svg\n[npm-image]: https://badge.fury.io/js/jquery-asScrollable.svg?style=flat\n[npm-url]: https://npmjs.org/package/jquery-asScrollable\n[license]: https://img.shields.io/npm/l/jquery-asScrollable.svg?style=flat\n[prs-welcome]: https://img.shields.io/badge/PRs-welcome-brightgreen.svg\n[daviddm-image]: https://david-dm.org/amazingSurge/jquery-asScrollable.svg?style=flat\n[daviddm-url]: https://david-dm.org/amazingSurge/jquery-asScrollable\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthecreation%2Fjquery-asscrollable","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthecreation%2Fjquery-asscrollable","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthecreation%2Fjquery-asscrollable/lists"}