Gmail이 특정 이메일 스레드에 폴딩 효과를 구현하기 위해 JavaScript를 사용한다고 가정합니다. 내가 말하고자하는 효과는 다음과 같습니다. 특정 전자 메일 스레드를 클릭하여 선택하면 최신 전자 메일 만 표시되고 모든 이전 전자 메일은 접힌 상태로 표시됩니다. 폴딩 섹션을 클릭 할 때만 확장되지만 확장 된 섹션 만 표시됩니다. 그런 다음 각 섹션을 클릭하면 전체 메시지를 읽을 수 있습니다. 어떻게이 일을 할 수 있습니까? 많은 감사합니다.JavaScript에서 Gmail과 유사한 폴딩 효과를 생성하는 방법
답변
전 스레드의 메시지가 축소되어 메시지의 발신자 이름과 처음 몇 단어 만 표시되는 효과에 대해 이야기하고 있다고 가정합니다.
어떻게해야합니까? 읽지 않은 메시지가 아닌 모든 메시지의 경우 보낸 사람의 이름과 첫 번째 n 문자를로드하십시오. 각 행에 onclick 리스너가있는 테이블에 모든 이전 메시지를 표시하십시오. 행을 클릭하면 Ajax를 사용하여 서버에서 전체 메시지를 검색하고 잘린 메시지를 전체 메시지로 대체하십시오. 사용자가 행을 다시 클릭하면 첫 번째 n자를 제외한 전체 메시지를 숨 깁니다. Gmail의 경우, 읽지 않은 메일 및/또는 가장 최근의 메일은 이메일 스레드를 클릭하면 모두로드됩니다.
더 간단한 방법은 다음과 같습니다. 페이지가로드 될 때 전체 메시지를 모두로드하지만 행을 클릭 할 때까지 전체 메시지의 n자를 제외한 모든 메시지를 숨 깁니다. 이렇게하면 Ajax를 망치거나 화면 공간을 절약 할 필요가 없으므로 코딩이 더 쉬워집니다. 그러나 대역폭 사용량이 적어지면 다른 이점도 얻을 수 없습니다.
OP 의도를 이해하는 (보이는 모양) +1. : o) –
나는 그가 왜 그 중 아무 것도 언급하지 않을 때 필요 전에 전체 메일을 로딩하지 않을 때의 성과에 대해 OP 의도가 무엇인지 알고 있다고 생각하는지 모르겠다. (당신이 많은 양의 데이터를 가지고 있다면, 그러나 우리는 얼마나 많은 데이터를 처리하는지 알지 못한다.) –
@Protron - 포인트가 있었습니까? 왜 데이터를 숨기고 싶습니까? 화면 공간을 확보하거나 대역폭을 절약하십시오. 나는 둘 다 언급했다. – Sparafusile
jQuery를 사용하면 자바 스크립트 및 jQuery에 대해 충분히 알고 있다면 멋진 시각 효과를 내기가 정말 간단합니다. toggle function이 효과를 낼 함수입니다.
accordion control of jQuery UI은 gmail이 스레드와 실제로하는 것과 유사합니다. 차이점은 아코디언을 사용하면 한 번에 하나의 섹션 만 열 수 있으며, Gmail에서는 한 번에 여러 메일을 열 수 있다는 점입니다.
그래서 아코디언 예제 아래 코드를 사용하는 것이 좋습니다.이 코드는 여러 섹션을 한꺼번에 열 수있게 해 주며, 아코디언 컨트롤 자체는 허용하지 않습니다.
jQuery(document).ready(function(){
$('.accordion .head').click(function() {
$(this).next().toggle('slow');
return false;
}).next().hide();
});
Gmail에는 아코디언 효과가 없습니다. 어쨌든 그는 시각 효과에 대해 이야기하는 것이 아니라 메시지 조직에 대해 이야기하고 있습니다. – Sparafusile
실제로 Gmail은 아코디언 효과가 아니라고 말했습니다 (여러 섹션이 동시에 열리기 때문에). 그래서 우리는 그것에 동의합니다. 우리가 동의하지 않는 것은 영업 의도입니다. 컨텐츠를 "표시"하는 대신 "로드", "아약스"및 "로드"를 사용하는 대신 질문에 동사를 표시하는 대신 컨텐츠를 "로드"하는 방법에 대해 확신하는 이유는 무엇입니까? , 및 "성과"전혀 언급되고 있지 않다). –
- 1. Gmail과 유사한 라벨링 시스템
- 2. Gmail과 유사한 동작을 만드는 방법 연락처 관리자
- 3. Rails 앱에서 Gmail과 유사한 라벨을 구현하십시오.
- 4. jQuery와 함께 Gmail과 유사한 탭/꾸러미 인터페이스를 어떻게 성취합니까?
- 5. gmail과 유사한 오픈 소스 자바 스크립트 리치 텍스트 편집기가 있습니까?
- 6. 안드로이드에 gmail과 유사한 프로토콜을 어떻게 만들 수 있습니까?
- 7. 일반 이미지에서 어안 효과를 생성하는 알고리즘
- 8. 백엔드 로직에서 자바를 사용하여 Gmail과 유사한 웹 기반 채팅 응용 프로그램을 구축하는 방법
- 9. JSDB가 Javascript에서 .exe를 생성하는 방법은 무엇입니까?
- 10. javascript에서 콘텐츠를 생성하는 링크를 google로 가져 오기
- 11. gmail과 같은 이미지 끌어다 놓기
- 12. Drupal 사용자가 Gmail과 동기화
- 13. vim에서 자동 루비 폴딩
- 14. AVAudioPlayback에 효과를 추가하는 방법
- 15. Coffee-Bytes 코드 폴딩 사용 방법
- 16. javascript에서 hashmap을 사용하는 방법
- 17. JavaScript에서 클로저를 깨는 방법
- 18. javascript에서 setAttribute를 사용하는 방법
- 19. javascript에서 usercontrol 제어하는 방법
- 20. Javascript에서 PDF를 편집하는 방법?
- 21. JavaScript에서 키보드 입력을받는 방법?
- 22. JavaScript에서 지연하는 방법
- 23. JavaScript에서 이미지를 표시하는 방법
- 24. JavaScript에서 outerHTML을 사용하는 방법?
- 25. Eclipse에서 Stacktrace 폴딩
- 26. gvim의 수직 스필과 폴딩
- 27. 이맥스 영구 폴딩 모드
- 28. CakePHP 스캐 폴딩 문제
- 29. LaTeX에서 LaTeX을위한 코드 폴딩
- 30. jQuery 코드 폴딩 플러그인
어떤 효과가 있습니까? – SLaks