2011-02-17 4 views
11

나는 fadeIn 및 fadeout을 원합니다. backgroud-color jQuery를 사용하여 아래 코드를 시도했습니다. 전체 div 내용에 영향을 미치므로 배경색 만 플래시 효과를 추가해야합니다.jquery로 플래시 효과

$('.countbox').css("background-color","#FF0000").fadeIn("fast").delay(800) 
    .fadeout("fast"); 
<div class="countbox">checkout</div> 

나는 이것을 시도했지만 작동하지 않습니다!

$('.countbox').css("background-color","#FF0000").fadeIn("fast").delay(800).css("background-color","#FFFFFF"); 

누구든지 나를 도울 수있는 문제가 무엇입니까?

편집

아차! 내 대답이 모든 창에 적용되지 않습니다. 어느 쪽이 현재 창에 대해서만 플래시 효과를 주지만 모든 창에 플래시 효과를 가져와야합니다. 예를 들면 : - 버튼을 클릭하면이 창이 website과 똑같이 모든 창에 대해 div에 플래시 효과를 주어야합니다.

+0

"창"과 "div"가 혼동되는가요? AFAIK, 특정 CSS 스타일을 가진 모든 요소에 대해 플래시 효과를 원한다는 뜻입니다. –

+0

나는 여러 개의 div에 대해 이야기하는 것이 아닙니다 ... 브라우저 창에 관한 이야기입니다. 당신은 여기에 플래시 경매를 볼 수 있습니다 ... http://www.beezid.com/ .. 그 효과는 입찰 버튼을 클릭 할 때 적용됩니다 .. 내가 원하는 것을 말하십시오 – Gowri

+2

그래서, 당신은 무언가를 "플래시"하려고합니다 ** 특정 웹 페이지를보고있는 모든 ** 열린 브라우저 (인터넷 전체)? 그 경매 페이지는 누군가가 입찰 할 때 해당 페이지를 보는 모든 브라우저에서 깜박입니까? 또는 누군가가 새로운 대답을 추가했을 때 메시지를 깜박이는 Stack Overflow처럼? 나는 그때 당신이 틀린 질문을 한 것을 두려워한다. XHR/Ajax가 필요합니다. –

답변

5

희망이 도움, 당신은이 일이 일어날 때 신호를 서버에 다시 게시 어떤 종류의가 필요합니다.

omerkirk의 대답을 확장하면 (이 IMO를 수행하는 올바른 방법입니다).

setInterval (function() {. get();}); 이는 주기적으로 현재 상태를 저장하는 백그라운드 서버 (사용자 당 아마 ...)로부터 정보를 얻습니다. 현재 상태가 바뀌면 현재 창 배경에있는 .animate();을 백그라운드 서버의 배경과 동일하게 만듭니다.

하나의 마스터 창 대신 여러 개의 '운전'창을 사용하면 매우 까다롭고 문제가 발생할 수 있습니다 및 x 클라이언트 것들 ...

정말이 나쁜 생각은 IMO ...

+1

이것은 맞습니다. 브라우저 창에서이 작업을 수행하려는 경우 업데이트를 수행하기 위해 어떤 유형의 다시 게시 시스템이 필요하며 원하는 경우 깜박임을 동기화하는 방법이 필요합니다. –

0

에서 DrJokePu의 답변을 생각해 보자. 색상 만 애니메이션으로 만들 수 있습니다.

Check this plugin.

+0

안녕하세요 알렉스, 내 편집을 확인하십시오 .. 나는 모든 창에 대해 플래시 효과를 원합니다. – Gowri

0

이 어떤 플러그인

$('.countbox').css("background-color","#FF0000"); 
setTimeout(function() { $('.countbox').css("background-color","#FFFFFF"); },800); 

우리는 또한 연속 색상이 방법 안에 무작위로 생성 된 색상으로 setInterval을를 사용하여 깜박이는 수없이 나를 위해 작동합니다.

+0

질문에 답변 해 주셨습니까? – Dawson

+0

그렇습니다.하지만 모든 브라우저 창에서 작동하지 않습니다. 내 문제입니다. – Gowri

0

이렇게하면됩니다. Jquery에는 플러그인을 사용할 필요가없는 자체 애니메이션 기능이 있습니다.

$(".countbox").animate({backgroundColor: "#ff0000"}, 1000); 

배경색을 1000 밀리 초 (1 초)의 초기 값에서 # ff0000으로 지정해야합니다. jQueryUI의 애니메이션 패키지를 포함시켜야한다고 생각합니다.

그것은 당신이 당신의 의견에 언급하고 별도의 창에서이 작업을 수행 할 수

+0

omerkirk 나는 이미 시도했다. 예. 현재 창에서 작동하지만 다른 창에서는 동시에 작동하지 않습니다. 버튼을 클릭하면 내 편집을 확인하십시오. – Gowri

+0

@gowri 모든 창 (브라우저 창 또는 여러 요소 같은 페이지에?) 모든 브라우저 창을 의미한다면 그럴 수 있다고 생각하지 않습니다. 동일한 창에서 여러 요소를 의미하는 경우 작동해야합니다. 여러 클래스에서 동일한 클래스로 시도했지만 매력적이었습니다. 작동하지 않는 코드에 대한 예를 사용하여 게시물을 편집한다면 어쩌면 문제를 해결할 수 있습니다. – omerkirk

+0

여기 우리는 http : //www.beezid.com/이 웹 사이트에 누군가가 플래시 효과가 div에 적용되면 클릭하면 동일한 효과를 얻습니다. 나는 플래시 효과를보아야 함을 의미합니다. 모든 브라우저 창에서 ...... – Gowri

1

대답이 당신은 아마이되고 싶어보다 조금 더 많은 작업이 될 것입니다 의견

를 기반으로 업데이트되었습니다. 2 개의 테이블이있는 데이터베이스가 필요합니다. 표는 활성 세션 ID를 개최하고 테이블이 메시지를 개최한다 :

tblSessions 
    ID   Int 
    LastSeen  DateTime 
    SessionID  Varchar(255) 

tblMessages 
    ID   Int 
    Timestamp  DateTime 
    SessionID  Varchar(255) 
    Message  Varchar(255) 

방문자가 페이지에 올 때, 당신은 방문자가 세션 ID가 있는지 확인해야합니다. 방문자가 이미 세션 ID를 가지고있는 경우 tblSessions 테이블의 LastSeen 열을 업데이트하십시오. 방문자가 세션 ID를 가지고 있지 않으면 on을 지정하고 tblSessions 테이블에 추가하십시오. 이 코드는로드 될 때 모든 페이지에서 실행되어야합니다.

데이터베이스 테이블 tblSessions에 대한 쿼리를 실행하여 LastSeen의 X 시간보다 오래된 모든 항목을 제거해야합니다. X의 값은 5 분입니다. 이 쿼리는 각 페이지로드 상단이나 서버 백엔드 프로세스에서 실행할 수 있습니다.

이제 모든 사용자의 화면을 깜박이기를 원할 때 tblSessions에 각 항목에 대해 tblMessages에 항목을 추가합니다. Timestamp을 메시지를 보내는 시간으로 설정하고 Message를 "flash"로 설정하십시오.

자바 스크립트의 브라우저 측에서 setInterval으로 폴링 기능을 설정하십시오. 폴링 함수에서 서버 쪽 페이지로 ajax 스크립트를 호출하여 메시지를 반환합니다. 이 서버 측 스크립트는 tblMessages에 현재 세션 ID에 대한 항목을 쿼리하여 다시 전달해야합니다. 또한 테이블에서 항목을 제거해야합니다.

위로 자바 폴링 기능에서 "플래시"메시지를 확인하고 화면을 깜박일 수 있습니다. 폴링 기능이 더 자주 호출되면 실시간으로 방문자는 이지만 부하는 이상입니다.

tbleSessions 테이블과 마찬가지로 tblMessages 테이블에서 이전 항목이 X +1 분 이상 지나면 문제가 발생할 수있는 오래된 결과가 테이블에 나타나면 제거해야합니다.

이렇게. 대략 한 번에 페이지를 방문하는 모든 사용자를 위해 화면이 깜박입니다. 네트워크 지연과 약간 다른 시간에 투표하는 모든 사람들이 정확히 같은 시간에 플래시 할 방법이 없으므로 대략 말합니다 .... 어떤 경우에도 쉬운 방법은 아닙니다.

+0

모두가 똑같지 만 제 질문은 제 편집 부분을 확인해주세요. 예 코드가 잘 작동하지만 플래시 효과가 모든 브라우저 창에 영향을 미치지 않습니다 .. 스티븐 정의 의견을 확인하십시오. – Gowri

+0

답변은 동시에 모든 방문자의 페이지를 깜박이도록 업데이트되었습니다. – Justin808

+0

lol, 'ruffly':) –

0

당신이 찾고있는 것은 무엇입니까? 데모를 참조하십시오 위해

http://jsfiddle.net/naveed_ahmad/GbvGU/

+0

그것은 모든 브라우저 창에 영향을 미치지 않습니다 – Gowri

+0

그렇다면 scriptaculous를 사용하지 않는 이유는 무엇입니까? 링크는 다음과 같습니다. http://madrobby.github.com/scriptaculous/effect-highlight/ –

+0

추신. 귀하가 추천 한 사이트는 똑같은 scriptaculous를 사용하고 있습니다. –

0

클라이언트 (단일 브라우저)에 배경 플래시 에, 당신이 JQuery와 .animate()를 사용할 수 있습니다. 콜백에서 또는 번 플래시 일 때 함수로 사용합니다.
플래시을 인터넷에서 사용하려면 열려있는 모든 브라우저에서이 애니메이션을 실행해야합니다. 두 가지 방법이 있습니다.

  1. 세트 이 그것을해야 플래시, 또는 여부를 서버 데이터를 확인합니다 클라이언트에서 타임 아웃. 의 아래쪽면은 "거의 "데이터를 저장하려는 경우 을 자주 폴링해야하며 플래시는 번 모두에 대해 동시에 번 발생하지 않습니다.
  2. 서버 측 콜백이 발생하면 모든 열린 클라이언트에 번 플래시 ()가 데이터가 변경되었지만 서버 측 로직 없이는 수행 할 수 없습니다. ASP.NET 웹 페이지와 함께이 일을하는 것은 읽기이 http://msdn.microsoft.com/en-us/library/ms178208.aspx 그것은, 내가 얼마 전에 내 자신의 프로젝트를 ^^ 찾으려고 노력 귀하의 게시물, 내가 개발, 정확히 무엇을하는 jQuery 플러그인을 늦은 답변을 찾았다
1

너는하고 싶어.

그것은 사용하기 매우 쉽습니다 :

$("selector").flash() 

는 물론 일부 구성 할 수있다.

데모를 확인하고/fork를 사용하십시오.

https://github.com/MarechJ/jQuery.flash