2009-05-31 45 views
24

Tôi có điều này jQuery:jQuery chuyển đổi hình ảnh động

$(document).ready(function() 
{ 
    $("#panel").hide(); 

    $('.login').toggle(
    function() 
    { 
     $('#panel').animate({ 
     height: "150", 
     padding:"20px 0", 
     backgroundColor:'#000000', 
     opacity:.8 
}, 500); 
    }, 
    function() 
    { 
     $('#panel').animate({ 
     height: "0", 
     padding:"0px 0", 
     opacity:.2 
     }, 500); 
    }); 
}); 

này đang làm việc tốt, nhưng tôi cần phải mở rộng chức năng một chút. Tôi cũng muốn thao tác tương tự các thuộc tính khác của div đồng bộ với div #panel. Tôi đã thử thêm hai chức năng liên quan đến div thứ cấp, nhưng tôi chỉ có một chuyển đổi 4 pha ... haha! Tha thứ cho sự thiếu hiểu biết của tôi!

Thanks guys!

+0

Tại sao bạn không thể thêm mã để thao tác DIV thứ hai này trong hai hàm đầu tiên? Tui bỏ lỡ điều gì vậy? –

+0

Không, tôi đã bỏ lỡ nó! Tôi là một noob jscript. –

Trả lời

49
$('.login').toggle(
    function(){ 
     $('#panel').animate({ 
      height: "150", 
      padding:"20px 0", 
      backgroundColor:'#000000', 
      opacity:.8 
     }, 500); 
     $('#otherdiv').animate({ 
      //otherdiv properties here 
     }, 500); 
    }, 
    function(){ 
     $('#panel').animate({ 
      height: "0", 
      padding:"0px 0", 
      opacity:.2 
     }, 500);  
     $('#otherdiv').animate({ 
      //otherdiv properties here 
     }, 500); 
}); 
+0

Ahh ... Tôi không thể tin rằng tôi đã bỏ lỡ điều đó! Cảm ơn rất nhiều! –

+2

Chức năng này không được chấp nhận như của JQuery 1.8 và bị loại bỏ trong JQuery 1.9. http://api.jquery.com/toggle-event/#entry-longdesc – Xtrinity

6

Tôi không nghĩ rằng việc thêm chức năng kép bên trong hàm chuyển đổi làm việc cho một sự kiện nhấp chuột đăng ký (Trừ khi tôi là thiếu một cái gì đó)

Ví dụ:

$('.btnName').click(function() { 
top.$('#panel').toggle(function() { 
    $(this).animate({ 
    // style change 
    }, 500); 
    }, 
    function() { 
    $(this).animate({ 
    // style change back 
    }, 500); 
}); 
+1

vì vậy, bạn đang cố gắng nói gì? tôi không nghĩ rằng nó là hữu ích để cung cấp cho mã rằng dosent làm việc và nói "Oh, nó dosent làm việc". đăng một giải pháp thực sự. – Dementic

+0

Tôi nghĩ rằng nó là hữu ích để cung cấp cho mã rằng dosent làm việc và nói "Oh, nó dosent làm việc". – Alireza

+0

Chức năng này không được chấp nhận như của JQuery 1.8 và bị loại bỏ trong JQuery 1.9. http://api.jquery.com/toggle-event/#entry-longdesc – Xtrinity

-7
onmouseover="$('.play-detail').stop().animate({'height': '84px'},'300');" 

onmouseout="$('.play-detail').stop().animate({'height': '44px'},'300');" 

Chỉ cần đặt hai điểm dừng - một lần bật và một lần bật.

+1

Sử dụng JavaScript nội tuyến không phải là mẫu tốt. Nếu bạn đã sử dụng trình xử lý sự kiện sử dụng jQuery thay thế. – akluth

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