2011-08-12 26 views
6

Tôi thấy gần đây một hiệu ứng đẹp đang được xem trước trong Bing dành cho IE9 và cũng cho Safari 5. Khi bạn nhấn enter trên hộp tìm kiếm, hộp tìm kiếm sẽ di chuyển độc đáo lên đầu trang và kết quả gấp lại từ phía dưới. Bạn có thể thấy nó hoạt động ở đây ... http://www.youtube.com/watch?v=NYuLALX6aeI#at=69Chuyển đổi nội dung gọn gàng như trong HTML5 bing

Câu hỏi của tôi là, cách thực hiện điều này và làm cách nào tôi có thể thực hiện việc này? Tôi hy vọng bạn có thể hiểu câu hỏi của tôi.

+0

Đó là tất cả hoạt ảnh CSS3 – Mohsen

+1

Lemme là một điều rất đơn giản dành cho bạn – Mohsen

+0

Đây là thủ thuật điển hình của Microsoft để tạo ấn tượng bạn cần IE9 để làm điều này trong khi bất kỳ trình duyệt nào khác cũng có thể làm như vậy và tốt hơn. – Rob

Trả lời

5

ý tưởng cơ bản:

JQuery:

$('#go').click(function() { 
    $('#form').animate({ 
     'height': '80px', 
     'text-indent': '50px', 
     'padding-top':'20px' 
    }, { 
     queue: false, 
     duration: 1500, 
     complete:function(){ 
      $('html,body').css('overflow-y','visible'); 
     } 
    }); 
    $('#results').show({ 
     type: 'slide', 
     direction: 'up' 
    }, { 
     queue: false, 
     duration: 1500 
    }); 
}); 

CSS:

#form { 
    background-color:blue; 
    text-indent:300px; 
    width:100%; 
    height:100%; 
    padding-top:200px; 
} 

#results { 
    background-color:yellow; 
    display:none; 
    height:700px; 
} 
body, html { 
    width:100%; 
    height:100%; 
    overflow:hidden; 
} 

HTML:

<div id="form"> 
    <input type="text" /> 
    <input type="button" id="go" value="go" /> 
</div> 
<div id="results">Search results</div> 

Demo: http://jsfiddle.net/AlienWebguy/hwAtU/

+2

'thời lượng: 1500' ngụ ý 1500 mili giây hoặc" một giây rưỡi ". Nếu bạn muốn hoạt ảnh mất 1 giây, bạn sẽ đặt 'duration: 1000', nửa giây =' duration: 500' và như vậy trên – AlienWebguy

1

Tất cả đều đang sử dụng hình ảnh động CSS3. Tôi đã đánh dấu một hộp tìm kiếm rất đơn giản với hoạt ảnh here Vui lòng sử dụng Chrome hoặc Safari. Chỉ cần gõ một cái gì đó và nhấn Enter.

CSS

body{text-align:center; padding: 200px 0;-webkit-transition: all 0.4s linear;} 
#search{-webkit-transition: all 0.2s linear;} 
#search:focus{-webkit-transform:scale(1.4);} 

HTML

<input type="search" placeholder="Search..." id="search"/> 

JS:

document.getElementById('search').addEventListener('keydown', function(e){ 
    if(e.keyCode == 13){document.body.style.padding = "40px";} 
}, false); 

Sử dụng Javascript cho việc định vị và hình ảnh động không phải là một mã ngữ nghĩa. Hoạt ảnh CSS nhanh hơn và mượt mà hơn.

+0

Ok để fiddle của bạn có khuynh hướng chống lại IE ** và ** firefox? – Maverick

+0

bạn có thể cập nhật nó bằng -moz- và -ms- nếu bạn thích chúng. Tôi thực sự ghét IE! – Mohsen

+1

Tốt hơn là một thuật ngữ tương đối. Câu trả lời của người nước ngoài có khả năng mở rộng và mạnh mẽ hơn. Câu trả lời của @ Mohsen là những gì chúng tôi muốn * thay vì * đang làm nhưng Internet không hoàn toàn sẵn sàng. Nếu bạn đang xây dựng một ứng dụng mạng nội bộ và trình duyệt của bạn sẽ được xác định trước và không đổi, hãy chuyển sang CSS3. Hãy nhớ rằng JQuery làm được nhiều điều hơn là animate. Bạn có thể sử dụng giải pháp của Alien để kích hoạt các cuộc gọi đăng nhập, điền vào kết quả tìm kiếm div với kết quả tìm kiếm * AJAX * và nhiều hơn nữa. Một nhà phát triển web thực sự hiểu biết sẽ sử dụng cả hai ý tưởng này :) – Maverick

Các vấn đề liên quan