28

私はこのjQueryを持っています:

$(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);
   });
});

これは正常に機能していますが、機能を少し拡張する必要があります。#paneldivと同期して別のdivのプロパティも同様に操作したいと思います。セカンダリdivに関連する関数をさらに2つ追加しようとしましたが、4フェーズのトグルを取得しました...ハハ!私の無知を許してください!

みんなありがとう!

4

4 に答える 4

54
$('.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);
});
于 2009-05-31T02:32:38.973 に答える
6

トグル関数内にデュアル関数を追加しても、登録されたクリックイベントでは機能しないと思います(何かが足りない場合を除く)

例えば:

$('.btnName').click(function() {
 top.$('#panel').toggle(function() {
   $(this).animate({ 
     // style change
   }, 500);
   },
   function() {
   $(this).animate({ 
     // style change back
   }, 500);
 });
于 2012-02-17T19:28:41.707 に答える
-9
onmouseover="$('.play-detail').stop().animate({'height': '84px'},'300');" 

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

onmouseover と onmouseout の 2 つのストップを配置するだけです。

于 2012-04-26T04:23:17.287 に答える