作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试使用 id 和 Accordion 创建多个选项卡,与类相同,我有下面的代码,它按预期工作正常,任何人都可以帮助简化这个
$("#tabs-1 .inmedia-card").slice(0, 6).css('display', 'flex');
var totalpost1 = $("#tabs-1 .inmedia-card").length;
if ($("#tabs-1 .inmedia-card").length > 6 ){
$("#tabs-1 .btn-clk-loadmr").css('display', 'inline-block');
$("#tabs-1 .btn-clk-loadmr").on('click', function (e) {
e.preventDefault();
$("#tabs-1 .inmedia-card:hidden").slice(0, 6).css('display', 'flex');
visiblepost1=$("#tabs-1 .inmedia-card:visible").length;
if ( visiblepost1 == totalpost1 ){
$("#tabs-1 .btn-clk-loadmr").css('display', 'none');
}
});
}
$("#tabs-2 .inmedia-card").slice(0, 6).css('display', 'flex');
var totalpost2 = $("#tabs-2 .inmedia-card").length;
if ($("#tabs-2 .inmedia-card").length > 6 ){
$("#tabs-2 .btn-clk-loadmr").css('display', 'inline-block');
$("#tabs-2 .btn-clk-loadmr").on('click', function (e) {
e.preventDefault();
$("#tabs-2 .inmedia-card:hidden").slice(0, 6).css('display', 'flex');
visiblepost2=$("#tabs-2 .inmedia-card:visible").length;
if ( visiblepost2 == totalpost2 ){
$("#tabs-2 .btn-clk-loadmr").css('display', 'none');
}
});
}
$(".tab-acrdion-body .inmedia-card").slice(0, 6).css('display', 'flex');
var totalpost = $(".tab-acrdion-body .inmedia-card").length;
if ($(".tab-acrdion-body .inmedia-card").length > 6 ){
$(".tab-acrdion-body .btn-clk-loadmr").css('display', 'inline-block');
$(".tab-acrdion-body .btn-clk-loadmr").on('click', function (e) {
e.preventDefault();
$(".tab-acrdion-body .inmedia-card:hidden").slice(0, 6).css('display', 'flex');
visiblepost=$(".tab-acrdion-body .inmedia-card:visible").length;
if ( visiblepost == totalpost ){
$(".tab-acrdion-body .btn-clk-loadmr").css('display', 'none');
}
});
}
最佳答案
您可以创建一个函数,将父元素传递给它并使用 $.find(..)
来选择和修改所有不同的子元素,下面是一个示例:
function process($parent) {
$parent.find(".inmedia-card").slice(0, 6).css('display', 'flex');
var totalpost1 = $parent.find(".inmedia-card").length;
if ($parent.find(".inmedia-card").length > 6 ){
$parent.find(".btn-clk-loadmr").css('display', 'inline-block');
$parent.find(".btn-clk-loadmr").on('click', function (e) {
e.preventDefault();
$parent.find(".inmedia-card:hidden").slice(0, 6).css('display', 'flex');
visiblepost1=$parent.find(".inmedia-card:visible").length;
if ( visiblepost1 == totalpost1 ){
$parent.find(".btn-clk-loadmr").css('display', 'none');
}
});
}
}
process($("#tabs-1"));
process($("#tabs-2"));
$(".tab-acrdion-body").each(function(){
process($(this));
});
关于javascript - 如何用多个id简化JS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60988202/
我是一名优秀的程序员,十分优秀!