【问题标题】:typed.js doesn't work for the second attempttyped.js 不适用于第二次尝试
【发布时间】:2015-08-19 12:21:07
【问题描述】:

第一次尝试悬停 div.logo 成功完成,typed.js 键入句子。之后,当再次将鼠标悬停在 div.logo 上时,它不起作用并且不输入任何内容。

    <script type="text/javascript">
    $( ".logo" ).hover(function() {
        $(this).toggleClass("clicked");
        if ($('.logo').hasClass('clicked')){
              $(function(){
                $('.logo').css('background-position','-20vmin center');
                console.log("n");
                  $(".logo h3").typed({
                    strings: ["Phoenix ^250 Programming ^250 Team"],
                    typeSpeed: 75
                  });
              });
        }
        else{
            $('.logo').find( "h3" ).text("");
            $('.logo span').remove();
            $('.logo').css('background-position','center left+1.5vmin');
        }
    });
    </script>

【问题讨论】:

  • 对于懒惰的人,您能否更明确地说明您要做什么,或者设置一个显示问题的 JSFiddle?
  • jsfiddle.net/7xrxvmz0 你在这里

标签: javascript jquery css typed


【解决方案1】:

正如您在source code for typed.js 中看到的,函数typed() 将一些数据分配给目标元素,如果设置了这些数据,则拒绝运行:

var $this = $(this),
    data = $this.data('typed'), // <<<
    options = typeof option == 'object' && option;
if (!data) // <<<
    $this.data('typed', (data = new Typed(this, options)));

因此,您必须在调用typed() 两次之前取消设置:

$('.logo h3')
    .data('typed', null) // <<<
    .typed({
        strings: ["Phoenix ^250 Programming ^250 Team"],
        typeSpeed: 75
    });

【讨论】:

    【解决方案2】:

    我注意到 Andrea 的回答虽然适用于您的情况,但在与具有多个元素的字符串数组一起使用时会弄乱效果(使其过于锯齿状)。

    如果有人遇到和我一样的问题,他们可能会做我做的事情。

    我使用计数器检查是否第二次调用 typed.js 并在完成后重新添加 .logo h3。

    所以,我添加了一个包装器。

    <div class="wrapper">
    <div class="logo"><h3></h3></div>
    <div>
    

    然后实施

     if(counter==1){
     $(".logo h3").typed({
            strings: stringArrayWithManyElements,
            typeSpeed: 75
          });
    }
    else{
        $('wrapper').html('');
        $(".logo h3")
        .typed({
            strings: stringArrayWithManyElements,
            typeSpeed: 75
          });
    }
    

    【讨论】:

      猜你喜欢
      • 2018-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-21
      • 1970-01-01
      • 2012-04-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多