рони,
плагин 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, время: 17:58. |