2010-06-28 5 views
0

J'ai la fonction suivante en Javascript:Run Javascript dans jQuery

$find('mainWindow').repaint(); 

je dois courir qu'à l'intérieur de cette fonction jQuery:

$("#tools").click(function() { 
     if(get_cookie('visible')== null) { 
      set_cookie('visible','no',2020,1,1,'/','.domain'); 
      $("#WinMain").animate({top: "25px"}, 200); 
      **<!--INSERT FIND-->** 
     } else { 
      delete_cookie('visible','/','.domain'); 
      $("#WinMain").animate({top: "89px"}, 200); 
      **<!--INSERT FIND-->** 
     } 
+0

Quel est le problème? – dzida

Répondre

1

Un gestionnaire click est juste que, un gestionnaire d'événements ... personne ne dit que vous ne pouvez avoir qu'un :) Si plusieurs sont attachés, ils vont courir dans l'ordre où ils ont été liés ... donc si vous ne peut pas modifier cette fonction, il suffit de connecter votre propre gestionnaire .click()après l'actuel, comme celui-ci:

$("#tools").click(function() { 
    if(get_cookie('visible')== null) { 
    set_cookie('visible','no',2020,1,1,'/','.domain'); 
    $("#WinMain").animate({top: "25px"}, 200); 
    } else { 
    delete_cookie('visible','/','.domain'); 
    $("#WinMain").animate({top: "89px"}, 200); 
    } 
}); 
//add your own handler later: 
$("#tools").click(function() { 
    $('#mainWindow').repaint(); 
}); 

Je ne suis pas vraiment sûr de ce que $find('mainWindow') restâmes, donc je fais un peu de deviner dans le gestionnaire ci-dessus, saisissant par ID. Si vous pouvez modifier le gestionnaire d'origine, il suffit de coller le code que vous souhaitez exécuter dans lequel vous avez maintenant des commentaires d'espace réservé.

0

jQuery est JavaScript, vous pouvez simplement insérer votre JavaScript appelez:

$("#tools").click(function() { 
    if(get_cookie('visible')== null) { 
     set_cookie('visible','no',2020,1,1,'/','.domain'); 
     $("#WinMain").animate({top: "25px"}, 200); 
    } else { 
     delete_cookie('visible','/','.domain'); 
     $("#WinMain").animate({top: "89px"}, 200); 
    } 
    $find('mainWindow').repaint(); 
}); 

Notez que je l'ai mis après l'instruction if, comme vous le vouliez mettre à la fois le vraie et fausse branche de l'instruction if.

Y a-t-il plus à votre question?

0

Pourquoi ne pas simplement

$("#tools").click(function() { 
     if(get_cookie('visible')== null) { 
      set_cookie('visible','no',2020,1,1,'/','.domain'); 
      $("#WinMain").animate({top: "25px"}, 200); 
     } else { 
      delete_cookie('visible','/','.domain'); 
      $("#WinMain").animate({top: "89px"}, 200); 
     } 
     $find('mainWindow').repaint(); 

? Est-ce que ça ne marche pas? Quels problèmes avez-vous?