javascript - Bootstrap slider with slideStop event -
i have bootstrap slider on page. don't know how can change code, page.php not constanly loading while dragging slider, when stop dragging (after desired period of time). have use slidestop event, don't know how.
<script type="text/javascript"> $(document).ready(function() { var intseconds = 1; var refreshid; function stimeout() { $("#mydiv").load("page.php"); // load content refreshid = settimeout(function() { // saving timeout stimeout(); }, intseconds *3000); } stimeout(); $.ajaxsetup({cache: false}); // slider $("#ex1").slider({ min : 1, // minimum value max : 20, // maximum value step : 1, value : intseconds, // copy current value formater: function(value) { // option format values before sent tooltip cleartimeout(refreshid); // clear intseconds = value; // update value stimeout(); // restart return value*3 + ' s'; } }); }); </script>
ok i'm gonna give try. guess using bootstrap slider plugin/add-on https://github.com/seiyria/bootstrap-slider or similar fork.
so want firstly cancel settimeout
on slidestart
, reinstate on slidestop
. if ajax request started before slider moved , returns during drag don't want update contents of div.
the code go little this:
javascript:
$(document).ready(function () { var intseconds = 1; var refreshid; //set flag know if we're sliding slidestart = false; $('#ex1').slider(); $('#ex1').on('slidestart', function () { // set flag indicate slide in progress slidestart = true; // clear timeout clearinterval(refreshid); }); $('#ex1').on('slidestop', function () { // set flag indicate slide not in progress slidestart = false; // start timeout refreshid = setinterval(function () { // saving timeout stimeout(); }, intseconds * 3000); }); //change stimeout function allow interception of div content replacement function stimeout() { $.ajax({ url: 'page.php', datatype: 'html', success: function (response) { if (slidestart) { // slide in progress bail out. return; } else { // slide not in progress go ahead. $("#mydiv").html(response); } }, error: function () { // handle error here } }); } refreshid = setinterval(function () { // saving timeout stimeout(); }, intseconds * 3000); });
Comments
Post a Comment