我试图在我的javascript中的click方法上重复一个回调函数。我想要做的就是引用function()中的代码。在我的#previous和#next点击方法上,我不想调用slidewitch。我想在代码中运行第4行的代码。我意识到我需要取出slidewitch的函数调用,我只是想参考它进行讨论。
$holder.quicksand($filteredData, {
duration: 800,
easing: 'easeInOutQuad'
line 4 }, function() {
$(".portfolioLink").click(function(){
$(".inner-content.portfolio").show();
clearInterval($('#slides').data('interval'));
$("ul.pagination li").removeClass("current");
var number = $(this).attr("data-id");
var slideID = $(this).parent().attr("id");
$("#previous").click(function() {
slideID--;
clearInterval($('#slides').data('interval'));
$("ul.pagination li").removeClass("current");
slideswitch(slideID);
});
$("#next").click(function() {
slideID++;
clearInterval($('#slides').data('interval'));
$("ul.pagination li").removeClass("current");
slideswitch(slideID);
});
我将如何实现这一目标?
答案 0 :(得分:2)
$holder.quicksand($filteredData, {
duration: 800,
easing: 'easeInOutQuad'
}, myFunction);
您的函数定义(代码存在一些问题,因此可能无法正确构造:
function myFunction() {
$(".portfolioLink").click(function(){ // where is this supposed to end?
$(".inner-content.portfolio").show();
clearInterval($('#slides').data('interval'));
$("ul.pagination li").removeClass("current");
var number = $(this).attr("data-id");
var slideID = $(this).parent().attr("id");
$("#previous").click(function() {
slideID--;
clearInterval($('#slides').data('interval'));
$("ul.pagination li").removeClass("current");
slideswitch(slideID);
});
$("#next").click(function() {
slideID++;
clearInterval($('#slides').data('interval'));
$("ul.pagination li").removeClass("current");
slideswitch(slideID);
});
}
此外,您不应该在计划多次调用的函数中绑定事件。