0

http://coolcarousels.frebsite.nl/c/50/

カルーセルはクリック/スワイプ ドラッグ スライドショーで、caroufresel.js を使用します。このカルーセルには複数のインスタンスがありますが、カルーセルの 1 つをクリックしてドラッグすると、すべてのカルーセルが移動します。私はそれがJavaScriptにあると信じていますが、私はこれにかなり慣れていないので、これを理解することはできません.

だから私がやりたいのは、各カルーセルを分離して個別に移動することです。

<article class="wrapper">
<div class="caroufredsel">
<ul class="carousel">
<!--CONTENT-->
</ul>
</div>
</article>

これは基本的な構造であり、複数のカルーセルで複数回使用されます。それぞれが個別に区別されていますが、それぞれが個別に応答するためにカルーセルを実装するのに問題があります。

上部の最初のリンクは、元のマークアップと js を示しています。

応答に感謝します。

これがJavaScriptです:

// the carousel
var $carousel = null;

// the draggable wrapper
var $wrapper = null;

// the width of one item
var itemWidth = 1280;

// the duration of the scrolling
var scrollDuration = 300;

// dragging-engine
var startDragPosition = false;
function startDrag( event ) {
event.preventDefault();

if ( $carousel.triggerHandler( 'isScrolling' ) ) {
startDragPosition = false;
return;
}
startDragPosition = event.pageX;
$wrapper.bind(
'mousemove',
function( e ) {
$wrapper.css({
'marginLeft': -(itemWidth + startDragPosition - e.pageX)
});
}
);
}
function stopDrag( event ) {
event.preventDefault();
$wrapper.unbind('mousemove');

if ( startDragPosition ) {
var currentDragPosition = event.pageX;
var direction = false;
if ( startDragPosition < currentDragPosition ) {
direction = 'prev';
} else if ( startDragPosition > currentDragPosition ) {
direction = 'next';
}
if ( direction ) {
$carousel.trigger( direction );
$wrapper.animate({
'marginLeft': -itemWidth
}, scrollDuration);
}
}
startDragPosition = false;
}

$(function() {

// the carousel
$carousel = $('.carousel');
$carousel.caroufredsel({
width: 1280 * 5,
height: 638,
align: false,
items: {
visible: 3,
start: -1
},
scroll: {
items: 1,
duration: scrollDuration
},
auto: false
});

// make the wrapper draggable
$wrapper = $carousel.parent();
$wrapper.css({
'cursor': 'move',
'marginLeft': -itemWidth
});
$wrapper.bind('mousedown', startDrag)
$wrapper.bind('mouseup', stopDrag)
$wrapper.bind('mouseleave', stopDrag);
});
4

1 に答える 1

0

カルーセルの HTML を提供していないため、何が問題なのかを正確に判断するのは困難です。しかし、私が知るvar carousel限り、クラス「カルーセル」を持つものとして定義しています。おそらく、各カルーセルに一意の ID を与えてから、個別に初期化する必要があるでしょうか?

于 2014-08-24T06:40:34.360 に答える