2012-01-16 27 views
9

JCarousel gần đây đã thay đổi (tháng 1 năm 2011).
Nó từng có cách để thực hiện tạm dừng khi di chuột bằng tính năng tự động ghi.
jCarousel - cách tạm dừng khi di chuột bằng tính năng tự động ghi?

Với phiên bản mới, tôi không thể giải quyết cách tự động kiểm tra để dừng khi di chuột:
Tôi muốn cuộn để dừng khi di chuột qua và bắt đầu lại trên màn hình.
Bất kỳ đề xuất nào?

Ví dụ mã là ở đây - http://testsite3.dk/jcarousel/
jCarousel đây: github.com/jsor/jcarousel

Liên kết với JQuery + javascript để tải ngón tay cái ở đây - http://testsite3.dk/jcarousel/autoscroll.txt

+0

Vấn đề này đã được sửa. Xin hãy xem: http://code.google.com/p/jcarausel-lite-pause-on-hover-fixed/ – saikatbiswas82

+0

@ saikatbiswas82 Phiên bản của bạn của jcarousellite dường như không hoạt động. – Muhd

+1

Đối với những người muốn thực hiện điều này trong jcarousellite, hãy xem http://stackoverflow.com/questions/8013595/autoslide-jquery-jcarousel-lite-not-working – Muhd

Trả lời

0

Bạn có thể liên kết các sự kiện di chuột của riêng bạn trong tạo cuộc gọi lại:

.jcarouselAutoscroll({ 
    autostart: true, 
    interval: 1000, 
    scroll: '+=3', 
    create: $('#thumbs').bind('mouseenter', function() { 
       $(this).jcarouselAutoscroll('option', 'scroll', '+=0'); 
      }).bind('mouseleave', function() { 
       $(this).jcarouselAutoscroll('option', 'scroll', '+=3'); 
      }) 

    }); 
+0

Xin chào - cảm ơn câu trả lời của bạn. Điều này hoạt động như một nét duyên dáng trên bản demo. Nó sẽ được sử dụng trên một trang web mà ngón tay cái được kéo từ Vimeo và bấm vào một ngón tay cái tải một video trên trang. Cuộn cũng hoạt động tốt ở đây, các video tải như mong đợi và cuộn sẽ bắt đầu và dừng lại trên con trỏ chuột và mouseleave. Tuy nhiên: nếu tôi tạm dừng các ngón tay cái lâu hơn chỉ một lần nhấp, một cái gì đó như 5 sek. di chuyển dừng lại nhưng không bắt đầu lại trên mouseleave (?). Tôi đã bao gồm một liên kết đến javascript được sử dụng để tải các ngón tay cái trong câu hỏi. Tôi không thể liên kết đến các bài kiểm tra, xin lỗi, đề nghị sẽ rất hoan nghênh. – user1152435

+0

Sự kiện mouseleave có kích hoạt khi nó không hoạt động như mong đợi không? – shaunsantacruz

+0

Nếu tôi xem cuộn trong Firebug, tôi thấy rhytm của cuộn tiếp tục ngay cả khi ngón tay cái không cuộn trên màn hình. Đây là trong cả Ví dụ và trên trang web. Mã ví dụ tiếp tục như mong đợi. Tuy nhiên trên trang web (nơi các ngón tay cái được tải từ Vimeo) tôi thấy cuộn ** chỉ một lần ** và sau đó không còn nữa. (Phù hợp với nó chỉ hoạt động nếu di chuột không kéo dài). Có vẻ như là phải được bắt đầu lại bằng cách nào đó ... – user1152435

13

thêm mã này vào đầu jcarousel của bạnCallback (carousel)

carousel.clip.hover(function() { 
    carousel.stopAuto(); 
}, function() { 
    carousel.startAuto(); 
}); 
+0

đây phải là câu trả lời được chấp nhận! – Luca

5

Tôi không thể làm các ví dụ trước hoạt động. Nhưng tôi đã nhận được những điều sau đây để làm việc với jcarousel mới nhất.

$('.carousel').jcarouselAutoscroll(
{ 
    interval: 4000, 
    scroll: '+=1', 
    create: $('.carousel').hover(function() 
    { 
     $(this).jcarouselAutoscroll('stop'); 
    }, 
    function() 
    { 
     $(this).jcarouselAutoscroll('start'); 
    }); 
}); 
+0

Đã thử điều này và nhận được Lỗi không được bắt buộc: Không thể gọi các phương thức trên jcarouselAutoscroll trước khi khởi tạo; cố gắng gọi phương thức "stop" ' –

+0

@Howdy_McGee bạn phải gọi' $ ('. carousel'). jcarousel(); 'trước khi gọi $ ('. carousel'). jcarouselAutoscroll(); – metamaker

1

Cập nhật câu trả lời để luôn cập nhật.

Xem https://github.com/jsor/jcarousel/issues/568 cho câu trả lời đúng:

$('.jcarousel').hover(function() { 
    $(this).jcarouselAutoscroll('stop'); 
}, function() { 
    $(this).jcarouselAutoscroll('start'); 
});