gpt4 book ai didi

javascript - jQuery 函数避免复制/粘贴

转载 作者:行者123 更新时间:2023-12-01 03:07:39 24 4
gpt4 key购买 nike

我有一个 jQuery 来按年份加载 div 内容(从 2008 年到当前年份)。

这是我的代码:

$('.filtre .f2017').click(function() {
$('.loader').show().delay(7000).fadeOut();
$('.selected .homeliVa li').hide('slow');
$('.homeliDp .itemCom').hide('slow');
$('.selected .homeliAlm li').hide('slow');
setTimeout('$(".selected .annee2017").show()', 5000);
$('.selected .nothing').show('slow');
$('.loader').show().delay(7000).fadeOut();
$('.filtre .date').removeClass('selectedF');
$('.filtre .f2017').addClass('selectedF');
$('.selected .itemCom').removeClass('selectedItem');
$('.selected .annee2017').addClass('selectedItem');
});

[...]

$('.filtre .f2008').click(function() {
$('.loader').show().delay(7000).fadeOut();
$('.selected .homeliVa li').hide('slow');
$('.homeliDp .itemCom').hide('slow');
$('.selected .homeliAlm li').hide('slow');
setTimeout('$(".selected .annee2008").show()', 5000);
$('.selected .nothing').hide('slow');
$('.filtre .date').removeClass('selectedF');
$('.filtre .f2008').addClass('selectedF');
$('.selected .itemCom').removeClass('selectedItem');
$('.selected .annee2008').addClass('selectedItem');
});

所以我每年都会复制/粘贴我的第一个 .click 函数。

编辑

这里是生成的 HTML:

$args = array(
'posts_per_page' => '-1',
'orderby' => 'post_date',
'post_type'=> 'dp',
'order' => 'DESC',
'post_status' => 'publish'
);
while( $the_query->have_posts() ) {
[...]
<a href="<?php echo esc_url( $post->guid ); ?>" title="<?php echo esc_attr( get_the_title() ); ?>"><?php echo get_the_post_thumbnail(); ?></a>
<h3>
<a href="<?php echo esc_url( $post->guid ); ?>" title="<?php echo esc_attr( get_the_title() ); ?>">
<?php echo esc_html( get_the_title() ); ?>
</a>
</h3>
[...]

DOM 的 HTML 输出仅针对单个项目:

<div id="post-16351" class="itemCom annee2014 selectedItem" style="display: block;">
<div class="postHeader">
<h3>
<a href="url" title="title">
Post title
</a>
</h3>
<div class="postMeta">
<ul class="styles">
<li class="term_id">
<a href="url" rel="tag">Term name</a>
</li>
</ul>
<span>Publié le : 17 décembre 2014</span>
</div>
</div>
<div class="fichiersDp">
<a class="download-link filetype-icon fichier-pdf" target="blank_" href="url">name_of_file_attachment</a>
</div>
</div>

是否可以使用循环或其他方式来避免复制/粘贴并返回当前年份。问题是每年我都应该复制/粘贴新年。

最佳答案

如果您要点击 idclass 的 div,您可以尝试:

$('.filtre .yourClass').click(function() {
var item = $( this ).find('.class').text(); //If the text "button" is `2017` for example, this will return `2017`
$('.loader').show().delay(7000).fadeOut();
$('.selected .homeliVa li').hide('slow');
$('.homeliDp .itemCom').hide('slow');
$('.selected .homeliAlm li').hide('slow');
setTimeout($(".selected .annee" + item).show(), 5000);
$('.selected .nothing').hide('slow');
$('.filtre .date').removeClass('selectedF');
$('.filtre .f' + item).addClass('selectedF');
$('.selected .itemCom').removeClass('selectedItem');
$('.selected .annee' + item).addClass('selectedItem');
});

var item = $( this ).find('element or .div').text(); 允许您恢复日期。

关于javascript - jQuery 函数避免复制/粘贴,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46071846/

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