提前感谢您的帮助。我是JavaScript的新手,所以我觉得我做的事情不正确。在点击课程'toggleclass'
'.fa'
和课程'.fa-bars fa-times'
之间的'.ubermenu-responsive-toggle'
需要1秒钟
点击'.fa'
后,'.fa-bar fa times'
和'.ubermenu-responsive-toggle'
之间的切换有效。我无法让时间延迟降低。我一直在Chrome的检查员中遇到JavaScript错误。我将在下面做出最好的猜测。我确信这很简单,但正如我所说,JavaScript对我来说是一个新的领域。
再次感谢您的帮助。
jQuery(document).ready(function($) {
$( '.ubermenu-responsive-toggle' ).on( 'click touchend' , setTimeout(function(){
jQuery( this ).find( '.fa' ).toggleClass( 'fa-bars fa-times' );
}, 1000));
});
答案 0 :(得分:3)
小心对象"这"在setTimeout或setInterval函数中,因为可能不是你期望的对象,试试这个:
jQuery(document).ready(function($) {
$( '.ubermenu-responsive-toggle' ).on( 'click touchend' , function() {
var $myToggles = $(this).find( '.fa' );
setTimeout(function() {
$myToggles.toggleClass('fa-bars fa-times');
}, 1000);
});
});
答案 1 :(得分:1)
尝试使用Recommendation for Block Cipher Modes of Operation: Methods and Techniques, NIST Special Publication 800-38A, 2001 Edition;,.delay()
jQuery(document).ready(function($) {
$(".ubermenu-responsive-toggle").on("click touchend", function(e) {
jQuery(this).delay(1000, "toggle").queue("toggle", function() {
jQuery(this).find(".fa").toggleClass("fa-bars fa-times");
}).dequeue("toggle");
});
});
jsfiddle .queue()
答案 2 :(得分:1)
试试这个
jQuery(document).ready(function ($) {
$('.ubermenu-responsive-toggle').on('click touchend', function () {
var that=jQuery(this);
setTimeout(function () {
that.find('.fa').toggleClass('fa-bars fa-times');
}, 1000);
});
});