2011-02-09 77 views
0

我試圖在使用.load()加載到div的頁面上使用一些jQuery。被加載到div中的php包含一個帶有隱藏部分的div,該部分在第一次顯示時隱藏。當按下鏈接時,隱藏的div部分滑出。這工作正常,但由於某種原因,當div完成滑下並且我不知道爲什麼時,div滑回。在加載的div中使用jQuery


$(function() { 
    //Load addfood.php into the div user-main 
    //this works and the div is hidden when addfood.php is loaded into the page 
    $("a[name=search]").click(function() { 
    $(".user-main").load("addfood.php", function(){$("#addfood .addfood-body").hide();}); 
      // Here is where a link is clicked inside the newly loaded div to slidedown the hidden div 
      // the div slides down but comes back up right after 
      $('a[name=openaddfood]').live('click', function() 
      { 
       if ($("#addfood .addfood-body").is(":hidden")) 
       { 
        $('img[name=openaddfood]').addClass('rotate'); 
        $('#addfood .addfood-body').slideDown('fast'); 
       } 
       else 
       { 
        $('img[name=openaddfood]').removeClass('rotate'); 
        $('#addfood .addfood-body').slideUp('fast'); 
       } 
       return false; 
      }); 
}); 

對此的任何想法?

+0

JS在阿賈克斯負載的內容不會運行。 :) – bzlm 2011-02-09 20:40:43

+0

不知道我關注。那麼我的div如何在使用.load()加載到另一個div後滑動然後再上移? – 2011-02-09 20:48:56

回答

0

也許你可以嘗試避免現場電話:

$(function() { 

//Load addfood.php into the div user-main 
//this works and the div is hidden when addfood.php is loaded into the page 
$("a[name=search]").click(function() { 

$(".user-main").load("addfood.php", function() 
{ 
     $("#addfood .addfood-body").hide(); 
     // Here is where a link is clicked inside the newly loaded div to slidedown the hidden div 
     // the div slides down but comes back up right after 
     $('a[name=openaddfood]').click(function() 
     { 
      if ($("#addfood .addfood-body").is(":hidden")) 
      { 
       $('img[name=openaddfood]').addClass('rotate'); 
       $('#addfood .addfood-body').slideDown('fast'); 
      } 
      else 
      { 
       $('img[name=openaddfood]').removeClass('rotate'); 
       $('#addfood .addfood-body').slideUp('fast'); 
      } 
      //return false;//add href="javascript:void(0);" to your a tag to negate this 
      //this might also cause a problem - worth checking 
     }); 
    }); 

});

0

這裏是解決方案:


      $("a[name=search]").click(function() 
      //$('a[name=search]').live('click', function() 
      { 
       $("div.nav a[name=search]").css({"background-color":"#666966","color":"#fff"}); 
       $(".user-main").load("addfood.php", function() 
       { 
        $("#addfood .addfood-body").hide(); 
       }); 

       //$("a[name=openaddfood]").click(function() 
       $('a[name=openaddfood]').live('click', function() 
       { 
        if ($("#addfood .addfood-body").is(":hidden")) 
        { 
         $('img[name=openaddfood]').addClass('rotate'); 
         $('#addfood .addfood-body').slideDown('fast'); 
        } 
        else 
        { 
         $('img[name=openaddfood]').removeClass('rotate'); 
         $('#addfood .addfood-body').slideUp('fast'); 
        } 
        return false; 
       }); 

       $("#addfood .addfood-body-nutri").hide(); 
       $("a[name=openmorenutri]").click(function() 
       { 
        if ($("#addfood .addfood-body-nutri").is(":hidden")) 
        { 
         $('img[name=openmorenutri]').removeClass('rotate'); 
         $('#addfood .addfood-body-nutri').slideDown('fast'); 
        } 
        else 
        { 
         $('img[name=openmorenutri]').removeClass('rotate'); 
         $('#addfood .addfood-body-nutri').slideUp('fast'); 
        } 
        return false; 
       }); 

      });