2011-08-29 47 views
0

即時嘗試使此框保持一個寬度爲150px,但我如何得到文本是retrived是更長的那個返回文本到下一行而不是展開div。在javascript中的線返回

 <div id="page" style="position:absolute; float:right; top:500px; right:0px; background-color:#F5F5F5; color: #F6221D; font-size:12px; width:150;"> 
     <h2>ShoutOut</h2> 

     <form method="post" action="shout.php"> 
      <strong>Message:</strong> 
      <input type="text" id="message" name="message" class="message" /><input type="submit" id="submit" value="Submit" /> 
     </form> 

     <div id="shout" style="padding:0 10px 0; width:150; height:170px;; overflow-y:auto;"> 

     </div> 
    </div> 

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> 
<script type="text/javascript"> 
$(function() { 

    //populating shoutbox the first time 
    refresh_shoutbox(); 
    // recurring refresh every 15 seconds 
    setInterval("refresh_shoutbox()", 15000); 

    $("#submit").click(function() { 
     // getting the values that user typed 
     var name = $("#name").val(); 
     var message = $("#message").val(); 
     // forming the queryString 
     var data   = 'name='+ name +'&message='+ message; 

     // ajax call 
     $.ajax({ 
      type: "POST", 
      url: "shout.php", 
      data: data, 
      success: function(html){ // this happen after we get result 
       $("#shout").slideToggle(500, function(){ 
        $(this).html(html).slideToggle(500); 
        $("#message").val(""); 
       }); 
      } 
     });  
     return false; 
    }); 
}); 

function refresh_shoutbox() { 
    var data = 'refresh=1'; 

    $.ajax({ 
      type: "POST", 
      url: "shout.php", 
      data: data, 
      success: function(html){ // this happen after we get result 
       $("#shout").html(html); 
      } 
     }); 
} 

回答

1

嘗試增加這種風格到DIV:

word-wrap:break-word; 
+0

很適合言論認爲這就是我一直在尋找的東西。有沒有像這樣的字母,所以如果它的一個連續的文本行例如difjaslkdfjsadlkfjasdlkfjsdalkfjasdlkfjsaldkfjslkdfjsldfkjsl – John

+0

那麼它會包裝在下一行? – John

+0

我認爲這樣做,不是嗎?它說「break-word」,所以我假設它會打破一個長詞來包裝它。 –

2

。在你的CSS的錯誤:

width:150; 

應該是:

width:150px; 
+0

哦woops。新的很雜亂:/ thanks – John

+0

@George Cummins:不指定像素會導致這種行爲?據我瞭解,您不再需要以像素爲單位聲明大小。你可能是對的,但我很好奇你的答案背後的理由。 –

+0

@詹姆斯約翰遜:OP說:「我試圖讓這個盒子保持一個150px的寬度」,所以像素寬度的規格是正確的答案。另外,根據W3.org(http://www.w3.org/wiki/CSS/Properties/width),在使用長度時應該指定單位。 –