2016-04-14 11 views
0

SlideToggle() işlevinin hızlandırılmasının animasyonunda bir değişiklik olduğunda, önceden tanımlanmış bir işlevi javascript üzerinde yürütmenin herhangi bir yolu var mı?JQuery SlideToggle() işlevi, hareket hızının her adımında işlev yürütme

Örnek:

SlideToggle("1000", "linear", functiontoexecute()) 

Ben functiontoexecute() o hafifletilmesi "doğrusal" oluşan her adımı yürütmek istiyoruz.

Zaten .slideToggle() için JQuery web sayfasında baktı ve "ilerleme" veya "adım" seçeneklerini kullanmak için çalıştı ... ama beklenen ya da doğru dürüst bunları kullanmak vermedi olarak ya da yapmazlar var

...

Daha fazla ayrıntı için JQuery 1.9.1 kullanıyorum

cevap

5

jQuery bu parametrelerin nasıl kullanılacağına dair belgelerin en iyisi değildir, çünkü örneklerin hiçbiri tam kapasiteye sahip değildir. İşte ilerleme işlevini kullanarak bir örnek, ama umarım ihtiyaçlarınız ne olursa olsun bu uyarlayabilirsiniz: -

$("#book") 
 
    .slideToggle({ 
 
    duration: 400, 
 
    progress: functionToExecute, 
 
    complete: function() { 
 
     console.log('animation completed'); 
 
    } 
 
    }); 
 

 
function functionToExecute(animation, progress, remainingMs) { 
 
    $('p').text('here and progress count is ' + progress); 
 
}
.wrap { 
 
    height: 100px; 
 
    width: 200px; 
 
    margin: 10px 10px 10px 10px; 
 
    background-color: #2d8cd0; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
 
<div class="wrap" id="book"> 
 
    <h2>1</h2> 
 
</div> 
 

 
<p>Progress: <span id="progress">0</span></p>

+0

o benim aradığım buydu, çok teşekkür ederim! – Ignasi

İlgili konular