2012-01-08 2 views
0

나는 매 60 초마다 데이터베이스의 새로운 데이터를 검사하는 새로 고침 기능을 가지고 있으며 발견되면 목록에 추가합니다.왜 새 데이터를 강조 표시 할 수 없습니까?

자동 새로 고침을 표시 할 때 몇 초 동안 강조 표시하고 싶지만 아무 것도하지 않습니다. 모든 목록을 강조하거나 아무것도 표시하지 않습니다.

function clock(){ 
    $.ajax({ 
     url: "update.php", 
     data: "row=" + num, 
     cache: false, 
     success: function(data){ 
      $("#ads").prepend(data); 
      $(data).effect('highlight', {}, 5000); 
     } 
    }); 
} 
setInterval(clock, 60000); 

내가 뭘 잘못하고 있니?

+0

무엇을 할 update.php합니까? 정적 가짜 데이터 파일로 대체하면 어떻게됩니까? – Konerak

+0

귀하의 질문에 독립적입니다 : 당신이 정말로 24 시간 동안 똑바로하고있을 때 낮잠을 자십시오. 매번 코딩 마라톤을하고 코드를 살펴본 후에는 끔찍한 혼란에 빠지며 해결하기 힘든 모든 오류는 그냥 우습게 보였습니다. 시간이 있다면, 당신과 코드 사이에 약간의 시간차가 생기고 다시 한번 살펴보아야합니다. – Nobody

+0

막연합니다. "목록"어떤 목록? "데이터베이스"어떤 데이터베이스? "나는 그것을 강조하고 싶다" "그것"은 무엇입니까? –

답변

2

이 선택기 $(data)은 두 번째로 사용할 때 의미가 없습니다. 데이터가 선택자가 아니기 때문에 복제본을 만듭니다 (HTML 문자열을 추측합니다). 대신 만 하나의 데이터 복사본을 생성하고, 여기에 효과를 추가해야합니다 :

$(data).prependTo('#ads').effect('highlight', {}, 5000); 

Example JSFiddle post

+0

아시다시피 플러그인 코드를 직접 덤프하지 않고도 피들 포스트에 리소스를 추가 할 수 있습니다. 왼쪽의 사이드 바를보십시오. –

+0

효과 플러그인이 어디에 호스팅되는지는 잘 모르겠습니다. 방금 여기에서 코드를 다운로드했습니다 : http://jqueryui.com/download 그리고 플러그를 꽂았습니다. – Paulpro

+0

오, 그들은 어리석은 번들링을하지 않습니다. –

0

처음으로 data에는 앞에 추가 할 행이 있습니다. 그리고 두 번째 줄에서 $(data)은 그 데이터를 포함하는 html 항목이어야합니까? 만약 당신이 데이터를 prepend하고 그 라인에 당신이 장미를 찾아서 그들에게 효과를 줄 수있는 클래스를 주면 어떨까요?

관련 문제