рони,
плагин jScrollPane (http://jscrollpane.kelvinluck.com/) пытаюсь инициализировать его так $('.scroll-pane').jScrollPane(); но срабатывает он почему то частично, т.е. полоса прокрутки изменяется, но до конца не прокручивается контент. |
Цитата:
$(function() { $('.scroll-pane').jScrollPane(); });или лучше так $(window).load(function() { $('.scroll-pane').jScrollPane(); }); |
Mikhail1989,
если изменилось содержание одного $('.scroll-pane') ; после того как загрузили новое содержимое сделать так var api = $('.scroll-pane').data('jsp'); api.reinitialise(); если елементов много обойти циклом все пример http://jscrollpane.kelvinluck.com/dynamic_height.html |
Цитата:
ps. и вот что интересно если нажать на ссылку повторно, то срабатывает как надо, при $('.scroll-pane').jScrollPane(); |
Mikhail1989,
это api.reinitialise(); или это $('.scroll-pane').jScrollPane(); надо ставить в то что у вас подгружает контент |
рони,
если так $(document).on('click', 'a', function(e){ e.preventDefault(); var link = $(this).attr('href'); var api = $('.scroll-pane').data('jsp'); $.ajax({ type:'post', url: link, success: function(mes){ $('#content').prev('.slider').hide(); $('#content').html(mes); api.reinitialise(); } }) }) то в консоли TypeError: api is null api.reinitialise(); если так $(document).on('click', 'a', function(e){ e.preventDefault(); var link = $(this).attr('href'); $.ajax({ type:'post', url: link, success: function(mes){ $('#content').prev('.slider').hide(); $('#content').html(mes); $('.scroll-pane').jScrollPane(); } }) }) то срабатывает, но прокрутка не действует до конца, а если нажать на ссылку повторно, то уже все работает как надо |
Mikhail1989,
$(window).on('resize', function() { $('.scroll-pane').each( function() { var api = $(this).data('jsp'); if(api) {api.reinitialise()} else { $(this).jScrollPane(); } } ) }) $(document).on('click', 'a', function(e){ e.preventDefault(); var link = $(this).attr('href'); $.ajax({ type:'post', url: link, success: function(mes){ $('#content').prev('.slider').hide(); $('#content').html(mes); $(window).resize() } }) }) |
рони,
спасибо, но все никак не работает. постоянно срабатывает это условие else { $(this).jScrollPane(); } и как результат не полная прокрутка подгруженного материала |
Цитата:
хотя, нормально вроде, спасибо |
рони,
подсобите еще пожалуйста, опять проблема по этому скрипту, на одной из подгружаемых страниц есть свои обработчики для ссылок, но этот обработчик же действует, и на них тоже. Как его можно отключить перед выполнением нужных мне обработчиков. Пробовал .ubind() .off() не получилось, наверно, не туда их добавляю. |
Часовой пояс GMT +3, время: 13:26. |