2016-11-20 88 views
1

我有一個函數將文本附加到帶有某種顏色效果的div。 我想讓文字出現在單詞之後。 (但是我只需要在第二個函數的參數「str」的文本上使用這個效果,那麼「who」必須顯得正常。 我找到了一個我需要的效果代碼,但是我不知道如何使兩個功能一起工作,因爲我想如何使所需的文本出現在單詞之後

JS:

// my function 
    var showText = function(who, str) { 
     if(str !== "") { 
     $("#storyBoard").append("<p><span style='color:#323232;'>" + who.name + ": " + "</span>" + str + "</p>"); 
     }; 
    }; 

showText(somObj, "The text i want to append on the page when calling the function"); 

    // the function i want to add into my first function 
    $(function() { 
     var a = new String; 
     a = $('.text_cont_inner').text(); 
     $('.text_cont_inner').text(''); 
     var c = a.length; 
     j = 0; 
     setInterval(function() { 
     if(j < c) { 
      $('.text_cont_inner').text($('.text_cont_inner').text() + a[j]); 
      j = j + 1; 
     } else { 
      $('.text_cont_inner').removeClass('after') 
     } 
     }, 100); 
    }); 

HTML:

<!DOCTYPE html> 
<html> 
<head> 
    <meta charset="UTF-8"> 
    <link rel="stylesheet" type="text/css" href="css/style.css"> 
    <title>MacroG0D - My first game</title> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> 
<script src ='Js/main.js' type="text/javascript"> </script> 
</head> 
<body> 
<div id = "storyBoard"> 
<h1> Star Wars - Healing <br>The Breach:<hr></h1> 

<p class="intro">A long time ago, in a galaxy far, far away</p> 
<p> Welcome to the virtual pseudo-reality. Are you ready to start this journey? </p> 
</div> 
<input type="text" id ="myInput" placeholder="Type the command here" name="myInput" autofocus autocomplete='off'/> 
<button id="btn" type="submit"> Enter </button> 

</body> 
</html> 
+0

顯示您的html代碼 – Mahi

+1

片段僅用於可運行代碼。如果您的代碼僅包含JavaScript,請避免使用它們。 – 2016-11-20 19:53:59

+0

我加了我的html代碼,還有'showText'函數調用來顯示我的問題。 – MacroG0D

回答

1

試試這個:)

var showText = function(who, str) { 
    if(!str){ 
    return; 
    } 

    var textNode = $("#storyBoard") // take container 
    .append("<p><span style='color:#323232;'>" + who.name + ": </span><span></span></p>") // add contents 
    .find("p span:last-сhild")[0]; // select last <span> to put str value into 

    var words = str.split(" "); // break a string on words 
    var intervalId = setInterval(function() { // set new interval and remember it's ID 
    if (!words.length) { // no words left in array 
     return clearInterval(intervalId); // stop running interval and exit 
    } 

    textNode.innerText += " " + words.shift(); // add space and next word 
    }, 100); // milliseconds between word insertions 
}; 
+0

得到此錯誤:語法錯誤,無法識別的表達式:不支持僞:lastChild – MacroG0D

+0

感謝您試圖幫助,但它仍然無法正常工作。也許我沒有很好地解釋我的問題..我不知道如何解釋更好,然後只顯示:http://macrogaming.usite.pro/index.html 例如,當用戶在命令行中放'是' ,「惠康在船上」等文字必須逐字出現。 (但「機器」必須正常出現)。 – MacroG0D

相關問題