2011-05-13 3 views
1

이 슬라이더 코드는 이전 버전의 jquery (예 : jquery-1.5)와 잘 작동합니다. 하지만 jquery-jquery-1.6의 최신 버전과 함께 사용할 때 제대로 작동하지 않습니다.jquery 슬라이더가 jquery-1.6에서 작동하지 않습니다!

시도해 볼 수 있습니다. here - 슬라이더를 따라 이동할 때 내용이 스크롤되지 않습니다. 내용을 드래그하여 앞뒤로 움직일 때 슬라이더를 따라 내용을 스크롤해야합니다. 여기

은 어떤 생각이 내가 무슨 짓을

function on_scrollslide(event, ui) 
{ 
    var scroll_maximum = scroll_content.width() - scroll_frame.width(); 
    scroll_frame.attr({scrollLeft: ui.value * (scroll_maximum/100) }); 
} 

, 그것은 코드 여기, 내가 이벤트 slide이 작동하지 않을 생각

function init_scrollbar() 
{ 
    //scrollpane parts 
    scroll_frame = $('#scroll-frame'); // scroll-frame 
    scroll_content = $('#scroll-content'); // scroll-content 
    scroll_location_pixel = 0; 
    original_location_scroll_handle = 0; 
    original_width_scroll_content = scroll_content.width(); 

    scrollbar = $('#content-slider').slider({ 
     min: 0, 
     animate: true, 
     create: on_scrollcreate, 
     change: on_scrollchange, 
     slide: on_scrollslide 
    }); 
} 

코드의 일부인가? 어떻게 고칠 지 말해 줄 수 있어요?

감사합니다.

+0

어떤 긴급한 이유는? – alex

답변

1

jQuery 1.6 경우 :

jQuery를 1.6로서, .attr() 메소드 가 가되지 않았다고 속성 정의 반환 on_scrollslide 함수에서

, scroll_frame.attr({scroll_frame.prop({로 변경 설정되었습니다. 또한 균등 개체, 배열, 창 또는 문서에는 .attr()을 사용하지 않아야합니다. DOM 속성을 검색하고 변경하려면 .prop() 메서드를 사용합니다.

다음은 작동하는 fiddle입니다.

+0

나를 도와 주셔서 고맙습니다! :-) – laukok

0

jQuery는 새로운 .prop() 메서드를 사용하여 특성과 속성을 적절하게 구분합니다.

function on_scrollslide(event, ui) 
{ 
    //var scroll_maximum = scroll_frame.attr("scrollWidth") - scroll_frame.width(); 
    var scroll_maximum = scroll_content.width() - scroll_frame.width(); 

     // change---vv 
    scroll_frame.prop({scrollLeft: ui.value * (scroll_maximum/100) }); 
} 
+0

도움을 주셔서 대단히 감사합니다! :-) – laukok

0

버전 1.6을 무시하고 직접 1.6.1로 가야한다고 생각합니다. jQuery 블로그 당 :

1.5.2에서 1.6.1로 업데이트 할 때 속성 코드를 변경할 필요가 없습니다.

출처 : 업그레이드 할 http://blog.jquery.com/

+0

감사합니다, 크리스! :-) – laukok

관련 문제