2012-03-02 2 views
5

나는 수직 컨베이어를 만들기 위해 carouFredSel을 사용하고 있습니다. 모든 항목이 훌륭하게 작동합니다. 단, 부분 항목이 숨겨지기보다는 자르기 부분에 표시되는 경우를 선호합니다. 이렇게하면 스크롤 할 수있는 추가 항목이 있음을 사용자에게 알릴 수 있습니다.carouFredSel : 부분 항목을 표시 하시겠습니까?

나는 documentation을 읽고 있었지만, 지금까지 내가 할 수있는 일이 무엇인지 알 수 없다.

Check out the JSFiddle to see what I mean. 페이지의 맨 아래 항목을보십시오.

자바 스크립트

$("ul").carouFredSel({ 
    direction: "up", 
    align: "top", 
    width: 100, 
    height: "100%", 
    items: { 
     visible: "variable", 
     width: 100, 
     height: "variable" 
    }, 
    scroll: { 
     items: 1, 
     mousewheel: true, 
     easing: "swing", 
     duration: 500 
    }, 
    auto: false, 
    prev: { 
     button: ".prev", 
     key: "up" 
    }, 
    next: { 
     button: ".next", 
     key: "down" 
    } 
});​ 
+0

이 유형의 회전 목마의 모든 목적을 저버린 것 같습니다. 다른 플러그인은 모든 슬라이드가 동일한 크기 여야합니다. 다음 슬라이드의 부분보기를 얻기 위해 뷰포트 크기를 변경할 수 있습니다. 당신과 함께, 그것은 의도적으로 이것을 피하기에 충분할 정도로 역동적 인 것 같습니다. 원하는대로 할 수있는 구성 가능한 옵션이 보이지 않습니다. 옵션을 사용하여 다음 슬라이드를 부분적으로 나타내려면 jCarousel 또는 jCarousel Lite를 사용하십시오. 단, 전자는 원형 버그가 있습니다. – Sparky

+0

좋은 지적입니다. 그리고 어떤 경우에는 그것이 바람직 할 것입니다. 이 경우에는 바람직하지 않다고 생각합니다. 그리고 다른 플러그인을 사용 하겠지만,이 플러그인은 다른 것들이 실제로는 잘하는 것을 많이 처리합니다. – colindunn

+0

옵션을 다시보고 있는데 ...이 플러그인으로는 가능하지 않다고 생각합니다. 그리고 모든 슬라이드가 다른 크기라면 확실히 어려울 것입니다 ... 이것은 뷰포트 크기가 끊임없이 변화해야한다는 것을 의미합니다. Fred는 동적으로 뷰포트를 변경하지만 다른 플러그인은 변경하지 않습니다. 내 생각에 최선의 방법은 모든 슬라이드를 같은 크기로 만드는 것입니다. 목표는 시작점에서 약간 더 달성 할 수 있기 때문입니다. – Sparky

답변

4

이 해킹의 비트이지만, 그것을 작동합니다. 스크롤러 (이 경우 ul)의 높이를 150 %로 설정하고 상위 요소 (이 경우 body)를 overflow: hidden으로 설정합니다. 이제 가장 아래쪽에있는 요소가 화면을 벗어납니다.

자바 스크립트 수직 회전 목마의 다음 보이지 요소가 마진에 의해 아래로 밀어

body { 
    overflow: hidden; 
    } 
+0

Clever. 그러나 크기가 다른 슬라이드를 사용하면 일관성없는 결과가 표시되지 않습니까? – Sparky

+0

높이가 그다지 변하지 않으므로 필요한 경우 'ul'높이를 200 %까지 늘릴 수 있습니다. – colindunn

+0

흠, 이런 식으로, 컨베이어는 사실상 그렇지 않을 때 이미지에 충분한 공간이 있다고 생각하기 때문에 초기화 할 수 없습니다. 적어도 내 경우에는 이런 일이 발생합니다. 최소 옵션으로 "수정"할 수 있습니다. 하지만 이미지가 몇 개 밖에없는 경우에는 이상적이지 않습니다. 나는 아직도 이것을 해결하는 방법을 찾고있다. – clime

0

$("ul").carouFredSel({ 
    height: "150%" 
}); 

CSS. 나는 현재 다음과 같은 기능에 의해 그것을 무시 해요 :

function cropCarousel() { 
    var visibleElements = this.triggerHandler("currentVisible"), // show all visible 
    $lastElement = $(visibleElements[visibleElements.length - 1]); // get the last one 

    $lastElement.css('margin-bottom', '30px'); // amend the margin 
}; 

cropCarousel.call($('#your_carousel_id')); 

당신이 및 이벤트 아래에이 회전 목마 초기화에 기능을 호출해야합니다 그것의 단점을. 하지만 작동합니다;)

1

하, caroufredsel, 아니 해킹이 필요하지 않습니다 :) :)! 다음 옵션을 사용하여이를 달성 할 수 있습니다.

items: { 
    visible: '+1' 
} 

편집 : 이것은 문제가 있습니다. 전체 보이는 항목의 수 + 1 == 모든 항목의 수이면 한 이미지가 부분적으로 표시 되더라도 회전식을 스크롤 할 수 없습니다. 예를 들어 다음과 같이 설정하여이 문제를 극복 할 수 있습니다. minimum: 1하지만 항상 이동할 수있는 것은 아닙니다 (예 : 이미지 수가 동적 인 경우 한두 개의 이미지가있을 때 스크롤 핸들러가 나타나지 않게하려는 경우).

+0

2012 년 초에이 질문을 게시했을 때이 옵션을 사용할 수 없다는 것이 확실합니다. – Sparky

관련 문제