UNPKG

jquery-read-more

Version:

jQuery plugin for easy read more text animation

114 lines (69 loc) 3.57 kB
# jQuery Read More A lightweight jQuery plugin for creating animated Read more text. # **Installation** You can install the file with NPM: ```js npm install jquery-read-more ``` Or import the file directly from a `<script>` tag: ```js <script src="lib/jquery-read-more.min.js"> ``` You can find the minified file in the git repository. **Attention!** The plugin needs jQuery in order to work. <br/> # **Initialisation** If you use a module syntax, you can import the plugin with ```js import 'jquery-read-more'; ``` If you import the file, the plugin will be loaded when the DOM is ready. <br/> # **Usage** Using the plugin is simple, let's show a minimal example: ```html <div id="text-container" data-controller="#readMore"> <p> Lorem ipsum dolor sit amet, consectetur adipisicing elit. Iusto, optio, dolorum provident rerum aut hic quasi placeat iure tempora laudantium ipsa ad debitis unde? Iste voluptatibus minus veritatis qui ut. </p> <div id="readMore">Read More</div> </div> ``` Note the `data-controller` attribute that points to the read more `div`. Then activate the plugin from JS: ```js $("#text-container").readMore({lines: 2}); ``` This will clip the text after two lines, adding the ellipsis if the text is truncated. If the text is shorter than 2 lines, the read more `div` will be hidden and no ellipsis is shown. It is possible to apply `.readMore({lines: x})` also to multiple elements at once. # **Interactive Example** An interactive example is available [here](https://github.com/AndreF010203/jQuery-Read-More) <br/> # **Options** The complete list of options accepted as input: | Name | Required | Default Value | Description | |:----------:|:-------------:|:------:|:------:| | lines | **required** | *none* | The number of lines to show before cutting the text. Is the only mandatory input. | | readMoreLabel | *optional* | "Read more" | Label for the read more / expand link | | readLessLabel | *optional* | "Read less" | Label for the read less / collapse link | | ellipsis | *optional* | "..." | Label for the text to add at the end in case of text clamping | | splitOn | *optional* | " " | String or regex, define a custom splitting character | <br/> # **Methods** The plugin accepts also the following methods: | Name | Usage | Description | |:------:|:-----:|:--------------------:| | destroy | `.readMore('destroy')` | Remove the plugin and reset the initial state | <br/> # **Browser Compatibility** Tested and working on the following: <img src="https://upload.wikimedia.org/wikipedia/commons/thumb/a/a5/Google_Chrome_icon_%28September_2014%29.svg/768px-Google_Chrome_icon_%28September_2014%29.svg.png" width="40" height="40"> <span>Chrome 86</span> <img src="https://upload.wikimedia.org/wikipedia/commons/thumb/a/a0/Firefox_logo%2C_2019.svg/815px-Firefox_logo%2C_2019.svg.png" width="40" height="40"> <span>Firefox 82</span> <img src="https://upload.wikimedia.org/wikipedia/commons/thumb/1/18/Internet_Explorer_10%2B11_logo.svg/1200px-Internet_Explorer_10%2B11_logo.svg.png" width="40" height="40"> <span>Internet Explorer 11</span> <img src="https://pic.clubic.com/v1/images/1755232/raw" width="60" height="40"> <span>Edge 86</span> # **License** [MIT](./LICENSE) # **Support** If you like this plugin, you can support my work with [a beer or a coffe](https://paypal.me/afacchini1)