2013-07-11 2 views
4

http://manos.malihu.gr/jquery-custom-content-scroller/에서 맞춤 스크롤바를 사용하고 있습니다.jQuery를 업데이트 할 수 없습니다. mCustomScrollbar

gridview가 포함 된 div에 사용하고 있습니다. Gridview에 새 행이 추가되고 크기가 초과되면 스크롤 막대가 표시되지 않습니다.

그리고 다른 문제가 있습니다. div가 있고 그 div의 표시를 전환하는 버튼을 사용하고 있습니다.

은 내가 스크롤 스크롤 초기화 이벤트가 $(window).load

(function($) { 
$(window).load(function() { 
$("#rightFixed").mCustomScrollbar({ 
scrollInertia: 150, 
autoHideScrollbar: true, 
updateOnBrowserResize: true, 
updateOnContentResize: true, 
theme: "dark-2" 
}); 
}); 
})(jQuery); 

$(function() { 
$("#showTax").click(function() { 
$("#cartTaxDiv").slideToggle(); 
$(this).text($(this).text() == 'Show Tax' ? 'Hide Tax' : 'Show Tax'); 
$('#rightFixed').mCustomScrollbar("update"); 
}); 
}); 

한 가지를 업데이트 할 수없는거야하고 버튼을 클릭 $(document).ready입니다.

나를 도와 줄 수 있습니까 ??

답변

3

해결 방법을 찾았습니다.

slideToggle의 경우 업데이트를 함수에 배치하고 토글로 호출하면됩니다. 즉, 토글이 완료되면 함수를 호출하십시오.

function updateScrollbar() { 
    $('#rightFixed').mCustomScrollbar("update"); 
} 

$("#showTax").click(function() { 
    $("#cartTaxDiv").slideToggle(updateScrollbar); // Call the update Scrollbar after the sliding is done. 
    $(this).text($(this).text() == 'Show Tax' ? 'Hide Tax' : 'Show Tax'); 
}) 

토글 문제가 해결되었습니다.

두 번째 문제 - GridView. GrodView가 업데이트 될 때 스크롤바가 업데이트되어야합니다.이 경우 모든 포스트 백에서이 함수를 호출해야합니다. pageload에 다시 게시하는 경우이 함수를 호출 할 것이므로 여기서 업데이트 패널을 사용하지 않을 것입니다.

if (IsPostBack) 
{ Page.ClientScript.RegisterStartupScript(this.GetType(), "myscript", "updateScrollbar();", true); } 

따라서 문제가 해결되었습니다.

+1

공유해 주셔서 감사합니다. 많은 사람들이 자신의 솔루션을 공유하는 중요성과 유용성을 깨닫지 못합니다. +1 – Onimusha

+0

또한 나를 위해 그것은'$ ("# mydiv")로 더 잘 작동했다. slideToggle (500, updateScrollbar);' – Onimusha

관련 문제