1

Jquery は初めてです... Ruby on Rails を使用してアプリケーションを開発しています。ここで私がしなければならないことは、Jquery からコントローラー アクションを呼び出し、その出力をタイプライター効果のある div に表示することです。ここで、コンテンツのタイライター効果が開始され、「再生」ボタンが「停止」に変わるクリック時に「再生」ボタンを表示したいと考えています。停止すると、「再生」に変換され、再生が開始されます。このために、私はJqueryでこのコードを使用しました..

var text="content of text here";
var delay=50;
var currentChar=1;
var destination="[not defined]";

function set_file(id,time,user,node,activity) 
{
       var filename = "";
       filename = user+"_"+node+"_"+activity+"_"+time;

       jQuery("#play_"+id).click(function(event){
       event.preventDefault();
       jQuery("#img_"+id).attr('src',"/images/stop_images.png");
       jQuery("#img_"+id).attr('title',"Stop");
       jQuery(this).attr('id','stop_'+id);
       jQuery.get('/requests/download_log/?filename=' + filename, function(data) {
       startTyping(data, 50, "request_"+id);
       });
      jQuery("#stop_"+id).click(function(){
            jQuery("#img_"+id).attr('src',"/images/play_images.png");
            jQuery("#img_"+id).attr('title',"Play");
                    text="content of text here";
                    delay=50;
                    currentChar=1;
                    destination="[not defined]";
            });
  }

 function startTyping(textParam, delayParam, destinationParam)
 {
      text=textParam;
      delay=delayParam;
       currentChar=1;
    destination=destinationParam;
    type();
   }
 function type()
 {
  if (document.getElementById)
 {
   var dest=document.getElementById(destination);
  if (dest)
  {
  dest.innerHTML=text.substr(0, currentChar);
  currentChar++
    if(currentChar <= text.length)
     {
            setTimeout("type()", delay);
      }
  }
  }
 }

私の閲覧ページは

<% i = 1%>
 <%=link_to_function result.time,:id => "log_#{i}",:onclick => "set_file(#{i},'#{time_val}','#{result.user}','#{result.nodeip}','#{result.activityuser}')" %>
<div id = "file_<%= i %>" class = "file">
<%= link_to_function image_tag("play_images.png",:width => 30, :height => 30,:align => 'left', :title => 'Play', :id => "img_#{i}"),:id => "play_#{i}"%>
<b><h7 id= "fname_<%= i %>" class = "h7">""</h7></b>
<%= link_to_function image_tag("images.jpeg",:align => 'right'), :id => "close_#{i}"%>
<div id = "request_<%= i%>" class = "request">
</div>
</div>
<%i = i + 1%>

どうすればそれを達成できますか、どうすればタイプライターモードを停止できますか?

4

0 に答える 0