【问题标题】:Changing opacity and text color with jquery使用 jquery 更改不透明度和文本颜色
【发布时间】:2013-02-09 16:38:21
【问题描述】:

希望这个问题不会太傻……我还是个初学者!

我现在正在尝试建立我的投资组合网站,可以在 hellothisis.cc 看到它

我的目标是让版权符号完全不透明度几秒钟,然后降低到 0.1 不透明度,我相信我成功了。代码可能是贫民窟,但它有效吗?我还希望它有一个悬停属性,在悬停时将版权符号更改为完全不透明的红色,然后在您移动鼠标时恢复为淡出的灰色。

到目前为止,这是我的代码,包括版权符号具有的隐藏和单击功能。

<script type="text/javascript">

    $(document).ready(function() {
      $(".name").delay(1000).fadeTo('slow', 0.1, function() {
         $(".name").hover(function() {
             $(this).animate({ opacity: 1 });
             });
      });
    });

    $('.bio').hide();
    $('.name').click(function(){
        $('.bio').fadeToggle(1000);
    });
</script>

我现在的问题是,当您将鼠标悬停在褪色的灰色上后,即使您将鼠标移开,它仍保持完全不透明状态?任何帮助将不胜感激,谢谢!

【问题讨论】:

    标签: jquery opacity


    【解决方案1】:

    直接绑定,您无需等待延迟+淡入淡出完成(+如果在淡入淡出期间有人将鼠标悬停,它将回到不透明度 1,这在 imo 中更合乎逻辑

     $(".name").on({
              mouseover : function(e) {
                       $(this).stop().animate({ opacity: 1 });
             },
              mouseout : function(e) {
                       $(this).stop().animate({ opacity: 0.1 });
              }
     }).delay(1000).fadeTo('slow', 0.1);
    

    编辑:按顺序链接

    【讨论】:

      【解决方案2】:

      你可以使用:

      $(".name").hover(function() {
        $(this).animate({ opacity: 1 });
      }, function(){
        $(this).animate({ opacity: .1 });
      });
      

      第一个函数在mouseenter 事件触发时使用,第二个函数在mouseleave 事件被调用时使用。

      但我建议您关注 event delegation 的未来,因为它会更好地为您服务。

      【讨论】:

        猜你喜欢
        • 2014-03-16
        • 2011-12-19
        • 2012-03-11
        • 2013-03-04
        • 1970-01-01
        • 2014-02-18
        • 1970-01-01
        • 2018-08-30
        • 2016-06-20
        相关资源
        最近更新 更多