我之前被告知我不应该在函数内部绑定事件.什么是解决当前问题的最佳选择?我点击链接,从该链接我想获得一些属性.这是我目前正在做的事情.
$(".portfolioLink").click(function(){
// Show slide and portfolio piece info
$(".inner-content.portfolio").show();
// Reset slides timer and pagination
clearInterval($('#slides').data('interval'));
$("ul.pagination li").removeClass("current");
// Get ID from link that is clicked.
var slideID = $(this).parent().attr("id");
$("#previous").click(function() {
slideID--;
clearInterval($('#slides').data('interval'));
$("ul.pagination li").removeClass("current");
portfolioSwitch(slideID);
});
$("#next").click(function() {
slideID++;
clearInterval($('#slides').data('interval'));
$("ul.pagination li").removeClass("current");
portfolioSwitch(slideID);
});
}
Run Code Online (Sandbox Code Playgroud)
我有两个来回的按钮,它们是下一个和前一个按钮.根据我点击的链接,我想前进或后退.将这些点击事件置于$(".portfolioLink")click事件之外并同时从投资组合链接获取这些属性的最佳方法是什么?
将点击事件绑定到另一个点击事件中意味着每次.portfolioLink点击a时,新的点击功能被绑定到#previous/#next按钮,因此如果.portfolioLink点击两次则增加两次,如果点击三次则增加三次等等.你可以使用更高范围内的变量来解决问题,如下所示:
var slideID = 0;
$(".portfolioLink").click(function() {
$(".inner-content.portfolio").show();
clearInterval($('#slides').data('interval'));
$("ul.pagination li").removeClass("current");
slideID = $(this).parent().attr("id");
}
$("#previous, #next").click(function() {
slideID = this.id=='next' ? slideID+1 : slideID-1;
clearInterval($('#slides').data('interval'));
$("ul.pagination li").removeClass("current");
portfolioSwitch(slideID);
});
?
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
612 次 |
| 最近记录: |