2011-07-12 25 views
15

Để chạy thông số kỹ thuật của Cucumber với Capybara và Selenium, tôi cần có khả năng xác định xem một số hiệu ứng JQuery đã hoàn thành trước khi tôi có thể tiếp tục bước tiếp theo hay không. Có cách nào chung để xác định xem JQuery vẫn đang thực thi hiệu ứng (ví dụ: một cái gì đó như $.effects.active.size == 0)?Xác định xem hiệu ứng JQuery vẫn đang thực hiện

+1

chọn bộ chọn ": hoạt hình"? http://api.jquery.com/animated-selector/ –

Trả lời

9

Bạn có thể kiểm tra xem phần tử được sử dụng bởi một số hình ảnh động plugin/Tính năng qua kiểm tra :animated selector

theo này: http://api.jquery.com/animated-selector/

như thế này:

$("#el").is(":animated") 
hơn

thông tin: How do I find out with jQuery if an element is being animated?

+8

Có! Và '$ (": hoạt hình "). Length == 0' sau đó sẽ xác định xem tất cả hoạt ảnh đã kết thúc chưa. Rất tuyệt. Cảm ơn, Marek. –

+0

Tôi rất vui được giúp bạn –

3

Là tùy chọn thay thế (có thể nó sẽ phù hợp với người khác cần), có thể tắt hoàn toàn hoạt ảnh trên trang (cho đến khi được làm mới) bằng cách áp dụng:

$('body').append('<style> * {transition: none!important;}</style>') 
+1

Điều này rất hữu ích để tăng tốc độ thực hiện các kiểm tra tự động – vcRobe

+0

@vcRobe Đó chính xác là lý do chúng tôi sử dụng nó :) – Stas

Các vấn đề liên quan