2017-08-23 3 views
0

Existe-t-il un moyen de définir le type de bascule en tant que variable? J'ai une fonction qui déclenche le balisage ci-dessous; mais parfois j'ai besoin d'être 'slideToggle' au lieu de 'fadeToggle'. Je peux facilement définir ceci comme conditionnel; mais alors je dois répéter le balisage.Définir le type de bascule jQuery comme variable

De toute évidence, le code ci-dessous ne fonctionne pas; mais ça montre un peu ce que je vais faire.

var toggleType = (_settings.toggleType == 'fade' ? 'fadeToggle' : 'slideToggle' ); 

jQuery(_settings.target).stop(true, true).toggleType(function(){ 
    // callback after animation completes 
}); 

Jason P m'a conduit à une solution de travail.

// set toggle type 
var toggleType = (_settings.toggleType == 'fade' ? 'fadeToggle' : 'slideToggle' ); 

// toggle action 
jQuery(_settings.target).stop(true, true)[toggleType](function(){ 

Répondre

1

Vous pouvez utiliser bracket notation:

jQuery(_settings.target).stop(true, true)[toggleType](function(){ 
+0

Merci pour l'aide, je devais l'utiliser pour le faire fonctionner. Avoir les guillemets autour de toggleType a provoqué une erreur. Juste en utilisant le nom de variable travaillé cependant. jQuery (_settings.target) .stop (true, true) [toggleType] (function() { – GregT

+0

@GregT Modifié. Ce point ne devrait pas avoir été là. –