如何在不重复效果的情况下在WordPress循环中使用jquery
<div class="post">
<?php if ( have_posts() ) :
while ( have_posts() ) : the_post(); ?>
<a class="post_image" href="<?php the_permalink(); ?>" >
<img class="post_image_home" src='<?php $thumb = get_post_custom_values('post_thumb'); echo $thumb[0]?>' alt="postimg" />
</a><!--post_image-->
<?php endwhile; endif; ?></div><!--post-->
jquery:
$j=jQuery.noConflict();
$j('document').ready(function() {
$j('.post').hover(function() {
$j('.post_image').stop().animate({"margin-bottom":"10px",},"fast");
},function(){
$j('.post_image').stop().animate({"margin-bottom":"0px",},"fast");
}); });
答案 0 :(得分:0)
你能不能将它添加到JS文件中?可能比在PHP文件中使用JS更好,并且这会阻止它在PHP每次循环时运行。
如果你必须在PHP文件中这样做,你可以在循环开始之前创建一个全局JS变量,并在运行你自己的JS / jQuery之前检查一下。在循环中的JS内部,更改该全局变量,使其不再运行。
==编辑==
以下是一些示例代码,用于在主题中包含一个单独的JS文件。
这将出现在你的functions.php中:
add_action('wp_enqueue_scripts', 'front_end_js_files');
function front_end_js_files(){
// shouldn't be needed, but to be safe
wp_enqueue_script('jquery');
// this is looking in the same dir as your functions.php
wp_enqueue_script('my_own_file', get_bloginfo('template_url') . 'my_own_file.js');
}
然后在my_own_file.js中粘贴你的jQuery。请注意,您的JS现在将包含在每个页面中,因此您可能希望使jQuery选择器更具体一些。或者,在排队脚本之前在PHP中添加一些自定义页面检测。