gpt4 book ai didi

javascript - 将 jquery 选择器传递给插件内的子函数

转载 作者:行者123 更新时间:2023-11-28 16:40:59 25 4
gpt4 key购买 nike

我正在尝试制作一个快速的 jquery 插件(作为学习练习),用于从项目列表(本例中为 LI)制作一个简单的分页器,并且在将当前选择器(this)传递给一个子函数。代码如下。

问题是在创建动态导航时(该插件需要 jquery 1.3),我需要传递选择器,因为它是构成分页器的实际显示/隐藏的子函数。我正在尝试以下操作

var selector = $(this);

要获取选择器,然后将其传递给脚本底部的子函数,如下所示

$(".pageNav a").live("click", function(selector) {

并希望在子函数中使用选择器,如下所示

$(selector).hide();

但我什么也没得到。任何建议将不胜感激,不需要为我完成插件!

谢谢

(function($) {
$.fn.quickPager = function() {

//edit this
var pageSize = 10;
//leave this
var selector = $(this);
var totalRecords = $(this).length;
var currentPage = 1;
var pageCounter = 1;

$(this).each(function(i){
if(i < pageCounter*pageSize && i >= (pageCounter-1)*pageSize) {
$(this).addClass("page"+pageCounter);
}
else {
$(this).addClass("page"+(pageCounter+1));
pageCounter ++;
}
});

//show/hide the appropriate regions
$(this).hide();
$(".page"+currentPage).show();

//first check if there is more than one page. If so, build nav
if(pageCounter > 1) {

//Build pager navigation
var pageNav = "<ul class='pageNav'>";
for (i=1;i<=pageCounter;i++){

if (i==1) {
pageNav += "<li class=currentPage pageNav"+i+"'><a rel='"+i+"' href='#'>Page "+i+"</a></li>";
}
else {
pageNav += "<li class='pageNav"+i+"'><a rel='"+i+"' href='#'>Page "+i+"</a></li>";
}

}
pageNav += "</ul>";
$("#pagerContainer").append(pageNav);

//pager navigation behaviour
$(".pageNav a").live("click", function(selector) {
//grab the REL attribute
var clickedLink = $(this).attr("rel");
currentPage = clickedLink;
//remove current current (!) page
$("li.currentPage").removeClass("currentPage");
//Add current page highlighting
$(this).parent("li").addClass("currentPage");
//hide and show relevant links
//$("ul.paging li").text("TEST");
$(selector).hide();
$(selector+".page"+clickedLink).show();
return false;
});

}



}
})(jQuery);

最佳答案

var selector = $(this);
$(".pageNav a").live("click", function() {
// do something
selector.hide();
});

关于javascript - 将 jquery 选择器传递给插件内的子函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/541362/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com