2016-04-28 74 views
0

我有我的HTML结束一些功能做一些东西,它使用jQuery包括对AJAX加载元素现有的jQuery函数jQuery的

function transformacija() { 
    if ($("#drugiPrviPage").hasClass("pocetna")) { 
     $("#drugiPrviPage").velocity({ 
       left: "-100%", 
       opacity: 0.3 
      }, 
      "slow" 
     ) 
     $("#drugiPodPage").velocity({ 
       right: "10%", 
       opacity: 1 
      }, 
      "slow" 
     ) 
    } else { 
     $("#drugiPrviPage").velocity({ 
       left: "10%", 
       opacity: 1 
      }, 
      "slow" 
     ) 
     $("#drugiPodPage").velocity({ 
       right: "-100%", 
       opacity: 0.3 
      }, 
      "slow" 
     ) 
     $("#prviPage").removeClass("pocetna"); 
     $("#drugiPodPage").empty(); 

    } 

} 



$(".prvilinkovi").click(function() { 
    var id = $(this).attr('id'); 
    var idt = id + '.txt'; 
    $(document).ajax({ 
     url: [idt], 
     type: "GET", 
     cache: false, 
     success: function(txt) { 
      $("#drugiPodPage").html(txt); 

     } 
    }); 
    transformacija(); 

}); 
} 

Basicly当我点一下班“prvilinkovi”我用ajax将内容加载到div中,然后我在ajax加载的div上具有相同的按钮,并且我希望它具有与初始单击的按钮相同的功能。我向ajaxloaded按钮添加了类“pocetna”,但它没有像第一个按钮那样的功能。

我怎么能委托的功能工作的Ajax加载的内容?

我试过把代码放到一个init函数中,并在ajaxcomplete事件上调用它,但它似乎根本没有工作(即使我在document.ready()上也用它来调用init函数。

我去了这个Ajax加载方法,当点击一个带有酷速度动画的类别以便拥有网页的onepage模型,并且当你回到它清空div并为下一个做好准备时。类目点击

+0

你需要的事件代表团在这里附上事件动态加载的东西。但它很难看清你的问题和你需要的东西。你能举个例子吗?或者展示DOM元素如何看待ajax加载? –

+0

http://medo.studio4host.hr/interma是我正在做的事情。在灰色部分单击AAAA按钮时,它会将.txt文件中的内容加载到其他div并将其设置为动画,黄色页面上的AAAA按钮与第一个AAAA按钮的功能不同。 –

回答

0

好按我的理解,你可以如下做到这一点:

  • 保持一个普通的班级,说pocetna两个div - drugiPodPagedrugiPrviPage
  • 将点击事件附加到documentDOM load上的任何最接近的元素。由于pocetna类将在document.ready存在,我们将事件附加到它,委托给下面的按钮:

JS

$('.pocetna').on('click',".prvilinkovi",function() { 
    var id = $(this).attr('id'); 
    var parentID=$(this).closest('.pocetna').attr('id'); //get the button's parent id 
    if(parentID=="drugiPrviPage") //if its previous page perform ajax call 
    { 
     var idt = id + '.txt'; 
     $(document).ajax({ 
       url: [idt], 
       type: "GET", 
       cache: false, 
       success: function(txt) { 
        $("#drugiPodPage").html(txt); 
        //move the divs only on success 
        $("#drugiPrviPage").velocity({ 
         left: "-100%", 
         opacity: 0.3 
        },"slow"); 
        $("#drugiPodPage").velocity({ 
         right: "10%", 
         opacity: 1 
        },"slow"); 
       } 
      }); 
    } 
    else 
    { 
     $("#drugiPrviPage").velocity(
     { 
       left: "10%", 
       opacity: 1 
     },"slow"); 
     $("#drugiPodPage").velocity(
     { 
       right: "-100%", 
       opacity: 0.3 
     },"slow"); 
     $("#drugiPodPage").empty(); 
    } 
}); 
+0

嗨,我注意到你已经提出了一个更好的解决方案来选择哪个div对我来说真的很有帮助,但是不知道你可以这样做。现在只有原始问题依然存在。黄色页面上的按钮(按钮是加载ajax作为我的.txt文件包含该按钮,当我点击它的功能不会触发。我认为这个函数并没有在新加载的按钮上初始化 –

+0

新创建的ajax按钮与初始按钮类相同,但选择器$(“.prvilvilovi”)不起作用。当ajax完成后重新加载javascript,我想这将解决问题 –

+0

我的问题是如此不清楚,我会试着去折除它 –

相关问题