1

在片段提供程序中有一个简单的函数,它执行以下操作。

  • 在输入字段中查找电子邮件,>> 将电子邮件推送到 md5 哈希,然后>> 生成 Gravatar 的 url,然后通过 fadeIn() 将其嵌入到类中;

    $(document).ready(function(){
    
        $('.email').on('change', function(){
            var hash = hex_md5($('.email').val()); 
            $('.gravatar').attr('src', 'http://www.gravatar.com/avatar/' + hash + '?s=120').addClass('gravatar-glow').fadeIn("slow");
        });
    });
    
    
    HTML Part: <img src="" class="gravatar" style="display: none;"/>
    

问题

  • 如果电子邮件被删除,该类仍会显示,但这次它不使用电子邮件的 md5,而是显示默认的 Gravatar 图像。

我想要实现的是,如果输入字段为空,因为假设用户选择删除那里的电子邮件以使用不同的电子邮件,我想隐藏以前使用的类而不是显示默认 Gravatar 图像。

这是jQuery代码

4

1 回答 1

3

您可以使用toggleClass,此方法接受一个布尔值,如果开关是true,则添加类,否则删除该类。

.toggleClass( className, switch )

$('.email').on('change', function(){
    var val = $.trim(this.value), hash = hex_md5(val); 
    $('#element').prop('src', function(){
         return val.length
                ? 'http://www.gravatar.com/avatar/' + hash + '?s=120'
                : 'default path to the image'
    }).toggleClass('.gravatar', val.length)
      .fadeIn("slow");
});
于 2013-01-04T21:26:20.983 回答