javascript - BX-Slider to adjust adaptive height with Read More button -
i'm using bx-slider. tasked @ adding "read more" button 1 of slides, should expand slide height. problem bx-slider won't recalculate height when run readmore.js function. there way call adaptive height function @ same time click "read more" function different plugin?
thank you
$(document).ready(function() { $('.bxslider').bxslider({ adaptiveheight: true, pagercustom: '#bx-pager' }); }); $('.readmore').readmore();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script> <link href="https://cdnjs.cloudflare.com/ajax/libs/bxslider/4.2.5/jquery.bxslider.min.css" rel="stylesheet" /> <script src="https://cdnjs.cloudflare.com/ajax/libs/bxslider/4.2.5/jquery.bxslider.min.js"></script> <script src="https://fastcdn.org/readmore.js/2.1.0/readmore.min.js"></script> <ul class="bxslider"> <li> <div class="readmore"> <h3>slide "read more" button. </h3> <p>first click on "read more" button. i'd adaptive height kick in @ point. if click either arrow arrow, , return slide, height adjusted. if click close button, height not adjust.</p> <p>etiam in odio eget erat molestie aliquet. proin rutrum nunc ut eros consectetur, id pretium mauris euismod. aliquam facilisis, neque ac pharetra iaculis, risus purus maximus augue, nec efficitur libero lacus id mauris. duis sagittis massa nec lorem vestibulum, ac tempus enim eleifend. pellentesque condimentum facilisis ante id efficitur. nullam in congue metus, vel consectetur nibh. curabitur ut suscipit eros. cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. aenean vel odio feugiat, feugiat quam non, tincidunt mauris. etiam non efficitur justo, interdum suscipit libero. etiam in odio eget erat molestie aliquet. proin rutrum nunc ut eros consectetur, id pretium mauris euismod. aliquam facilisis, neque ac pharetra iaculis, risus purus maximus augue, nec efficitur libero lacus id mauris. duis sagittis massa nec lorem vestibulum, ac tempus enim eleifend. pellentesque condimentum facilisis ante id efficitur. nullam in congue metus, vel consectetur nibh. curabitur ut suscipit eros. cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. aenean vel odio feugiat, feugiat quam non, tincidunt mauris. etiam non efficitur justo, interdum suscipit libero.</p> </div> </li> <li> <h3>other slide</h3> <p> praesent vulputate metus volutpat nibh ornare, vitae suscipit lacus vehicula. aenean accumsan ornare placerat. curabitur ullamcorper vehicula nisi quis pellentesque. mauris viverra massa non mattis convallis. nunc accumsan libero sagittis quam consectetur pulvinar. quisque euismod lacinia magna id sagittis. aenean tempor est placerat hendrerit pellentesque. praesent id vehicula odio, eget condimentum dolor. in vehicula lacinia efficitur. vivamus nec iaculis ante, sit amet facilisis dui. nunc imperdiet, dolor nec posuere vulputate, metus mi lobortis ligula, nec posuere diam nunc eu dolor. donec non rhoncus justo. vestibulum sagittis quis leo quis hendrerit. phasellus quis arcu quis ligula luctus dapibus. suspendisse gravida elementum arcu ut luctus. </p> </li> </ul>
use
bxslider api - onsliderresize callback
readmore api - aftertoggle callback
bxslider can non-responsive events indirectly resizes it's dimensions. can "wake" directly resizing .bx-viewport
.
function bxadjust(idx) { $('.bx-viewport').height("0").height('100%'); }
use simple function callback both onsliderresize
, aftertoggle
. working snippet below.
snippet
$(document).ready(function() { var bx = $('.bxslider').bxslider({ adaptiveheight: true, pagercustom: '#bx-pager', onsliderresize: bxadjust }); }); function bxadjust(idx) { $('.bx-viewport').height("0").height('100%'); } $('.readmore').readmore({ aftertoggle: rmadjust }); function rmadjust(tgr, ele, exp) { bxadjust(); if (exp) { tgr = 'close'; } else { tgr = 'read more'; } }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <link href="https://cdnjs.cloudflare.com/ajax/libs/bxslider/4.2.5/jquery.bxslider.min.css" rel="stylesheet" /> <script src="https://cdnjs.cloudflare.com/ajax/libs/bxslider/4.2.5/jquery.bxslider.min.js"></script> <script src="https://fastcdn.org/readmore.js/2.1.0/readmore.min.js"></script> <ul class="bxslider"> <li> <div class="readmore"> <h3>slide "read more" button. </h3> <p>first click on "read more" button. i'd adaptive height kick in @ point. if click either arrow arrow, , return slide, height adjusted. if click close button, height not adjust. </p> <p>etiam in odio eget erat molestie aliquet. proin rutrum nunc ut eros consectetur, id pretium mauris euismod. aliquam facilisis, neque ac pharetra iaculis, risus purus maximus augue, nec efficitur libero lacus id mauris. duis sagittis massa nec lorem vestibulum, ac tempus enim eleifend. pellentesque condimentum facilisis ante id efficitur. nullam in congue metus, vel consectetur nibh. curabitur ut suscipit eros. cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. aenean vel odio feugiat, feugiat quam non, tincidunt mauris. etiam non efficitur justo, interdum suscipit libero. etiam in odio eget erat molestie aliquet. proin rutrum nunc ut eros consectetur, id pretium mauris euismod. aliquam facilisis, neque ac pharetra iaculis, risus purus maximus augue, nec efficitur libero lacus id mauris. duis sagittis massa nec lorem vestibulum, ac tempus enim eleifend. pellentesque condimentum facilisis ante id efficitur. nullam in congue metus, vel consectetur nibh. curabitur ut suscipit eros. cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. aenean vel odio feugiat, feugiat quam non, tincidunt mauris. etiam non efficitur justo, interdum suscipit libero.</p> </div> </li> <li> <h3>other slide</h3> <p> praesent vulputate metus volutpat nibh ornare, vitae suscipit lacus vehicula. aenean accumsan ornare placerat. curabitur ullamcorper vehicula nisi quis pellentesque. mauris viverra massa non mattis convallis. nunc accumsan libero sagittis quam consectetur pulvinar. quisque euismod lacinia magna id sagittis. aenean tempor est placerat hendrerit pellentesque. praesent id vehicula odio, eget condimentum dolor. in vehicula lacinia efficitur. vivamus nec iaculis ante, sit amet facilisis dui. nunc imperdiet, dolor nec posuere vulputate, metus mi lobortis ligula, nec posuere diam nunc eu dolor. donec non rhoncus justo. vestibulum sagittis quis leo quis hendrerit. phasellus quis arcu quis ligula luctus dapibus. suspendisse gravida elementum arcu ut luctus. </p> </li> </ul>
Comments
Post a Comment