J'ai un lien, lorsque je clique sur celui-ci, je veux qu'un div se glisse avec un soulagement, puis en cliquant de nouveau sur le lien, il devrait fermer le div, avec un soulagement ...
J'ai consulté le plug-in de jQuery easing, mais cela ne fonctionne pas avec jQuery 1.5.1? Des idées à ce que je peux faire, et comment?
À l'heure actuelle, je n'ai qu'une fonction slideToggle, qui n'a pas été assouplie?
$('.open-mypage').click(function () {
$('#mypage-info').slideToggle('2000', function () {
// Animation complete.
});
});
la documentation jQuery slideToggle () dit:
.slideToggle ([durée], [détente], [rappel]) (version ajoutée: 1.4.3)
duration Chaîne ou nombre déterminant la durée d'exécution de l'animation.
easing Chaîne indiquant la fonction d'accélération à utiliser pour la transition.
callback Une fonction à appeler une fois l'animation terminée.
Comme vous pouvez le constater, il existe un paramètre appelé [ easing ]
, dont la description est la suivante:
Accélération
A partir de jQuery 1.4.3, une chaîne optionnelle nommant une fonction d'accélération peut être utilisée. Les fonctions d'accélération spécifient la vitesse à laquelle l'animation progresse à différents moments de l'animation. Les seules implémentations d'assouplissement dans la bibliothèque jQuery sont les implémentations par défaut, appelées
swing
, et celles qui progressent à un rythme constant, appeléeslinear
. Des fonctions d'accélération supplémentaires sont disponibles avec l'utilisation de plug-ins, notamment la suite jQuery UI .
Donc vous avez 2 choix:
1) Vous utilisez un des assouplissements disponibles:
$('.open-mypage').click(function () {
$('#mypage-info').slideToggle('2000', "swing / linear", function () {
// Animation complete.
});
});
2) Vous incluez jQuery UI dans votre page et utilisez un de ses 32 assouplissements :
$('.open-mypage').click(function () {
$('#mypage-info').slideToggle('2000', "easeOutBounce", function () {
// Animation complete.
});
});
J'ai un lien, voici un exemple pour différents types d'effets à bascule.
Basculer div avec différents effets - Jquery Démo en direct
Sélectionnez le type d'effet dans le menu déroulant et, lorsque vous cliquez, vous obtenez un effet de bascule beaucoup plus esthétique.
J'ai essayé, ça marche bien.
$(function () {
var index = 0;
$("#btnChangeEffect").click(function () {
var effectType = $("#effectTypes").val();
$("#dvContent").toggle(effectType, 600);
});
});
<select name="effects" id="effectTypes" class="ddl">
<option value="blind">Blind</option>
<option value="bounce">Bounce</option>
<option value="clip">Clip</option>
<option value="drop">Drop</option>
<option value="explode">Explode</option>
<option value="fold">Fold</option>
<option value="highlight">Highlight</option>
<option value="puff">Puff</option>
<option value="pulsate">Pulsate</option>
<option value="scale">Scale</option>
<option value="shake">Shake</option>
<option value="size">Size</option>
<option value="slide">Slide</option>
</select>