2012-12-25 2 views
0

의 클래스는 그래서 이것은 내가 대신 아이디의의 클래스를 사용할 때 올바른 생각scrollTop = scrollHeight 대신에 확인 ID

$(".shouts").scrollTop = $(".shouts").scrollHeight;

을 사용하려고하지만이 작동하지 않으며, 무엇을 나는 때문에 그것을 만들기 때문에, 나는 일반적으로 내가 대신에 클래스의 DIV ID를 사용하고 있습니다 .. 확실하지 오전하지만 난이 얻을 기대했다

function refreshShouts() { 
    var refreshRate = 5000; // time in milliseconds 
    var cacheBuster = (new Date).getTime(); 
    $.ajax({ 
     type: "POST", 
     dataType: "xml", 
     url: "php/getShouts.php", 
     data: {op: 'tick', time: cacheBuster}, 
     error: function() { alert('An error occured! Try again.'); }, 
     success: function(xml){ 
      if($('shout', xml).size() > 0) { 
       $('shout', xml).each(function(id){ 
        var nickname = $('nickname', this).text(); 
        var message = $('message', this).text(); 
        var date = $('date', this).text(); 
        var cssClass = 'shoutRow1'; 
        if((id%2)/10 == 0) 
         cssClass = 'shoutRow'; 
        var shoutRow = '<div id="'+cssClass+'"><span id="nickname">'+nickname+' <span id="date">('+date+')</span>: </span><span id="shoutedMessage">'+message+'</span></div>'; 
        if(id == 0) 
         $('#shoutsContainer').empty().removeClass().addClass('shouts').html(shoutRow); 
        else 
         $('#shoutsContainer').removeClass().addClass('shouts').append(shoutRow); 
       }); 
      } else { 
       $('#shoutStatus').empty().addClass('shoutError').html($('error', xml).text()); 
       $('#shoutsContainer').empty().removeClass().addClass('noShouts').html('Shouts will be displayed here!'); 
      } 
      $(".shouts").scrollTop = $(".shouts").scrollHeight; 
     } 
    }); 
    setTimeout('refreshShouts()', refreshRate); 
} 

어쩌면입니다 위의 코드의 생각 작업.

+0

:..'$는 (". 소리 질러") 첫 번째() scrol를 ...'. 첫 번째 요소를 jQuery 객체 인 – SpYk3HH

답변

2

ID가 하나뿐이기 때문에 ID와 함께 작동합니다. 그러나 수업을 통해 어느 것이 어느 수업인지 알 수 있습니까?

이 시도 : 이것은 도움이 될 것입니다

$(".shouts").each(function() {this.scrollTop = this.scrollHeight;}); 
+0

으로 가져옵니다. 사용자가 볼 수 없도록 해당 클래스의 모든 사용자에게 스크롤하지 않으려면 각 요소가 필요하지 않습니다. 마지막으로가는 것처럼 보일 것입니다. 그는'.last()'또는'.first()'를 사용하는 것이 더 낫습니다. 어쨌든 +1하기. 해피 홀리데이 모두! – SpYk3HH