我有一个带流沙的投资组合页面,效果很好。 为了增加一些乐趣,我添加了漂亮的照片,也完美地工作。
但现在我为图片添加了悬停效果。它正在工作,但是当我使用过滤器排序时,悬停效果已经消失。我甚至没有看到它在Firebug中工作。
加载.js文件 - > jquery,流沙,漂亮照片然后悬停功能。 php文件(wordpress)看起来像这样:
<script type='text/javascript'>
$(document).ready(function(){
$("img").hover(
function() {
$(this).stop().animate({"opacity": "0.8"}, "slow");
},
function() {
$(this).stop().animate({"opacity": "1"}, "slow");
}
);
});
</script>
php文件的其余部分:
<!-- #content BEGIN -->
<div id="contentport" class="clearfix">
<ul class="filter clearfix">
<li><strong>Filter:</strong></li>
<li class="active"><a href="javascript:void(0)" class="all">All</a></li>
xxxx php magic xxxx
<ul class="filterable-grid clearfix">
xxxx php magic xxxx
<li data-id="id-<?php echo $count; ?>" data-type="<?php foreach ($terms as $term) { echo strtolower(preg_replace('/\s+/', '-', $term->name)). ' '; } ?>">
<?php
// Check if wordpress supports featured images, and if so output the thumbnail
if ( (function_exists('has_post_thumbnail')) && (has_post_thumbnail()) ) :
?>
<?php // Output the featured image ?>
<a rel="prettyPhoto[gallery]" href="<?php echo $large_image ?>"><?php the_post_thumbnail('portfolio'); ?></a>
<?php endif; ?>
<?php // Output the title of each portfolio item ?>
<p><a href="<?php the_permalink(); ?>"><?php echo get_the_title(); ?></a></p>
</li>
xxxx php magic xxxx
</ul>
xxxx php magic xxxx
</div>
我希望你拥有所需的一切,我已经看过这些链接,但我真的不知道该怎么做...... hover effect with quicksand plugin
How to apply jQuery quicksand (sort) without losing a jQuery based portfolio hover?
jQuery quicksand plugin with .click method
提前致谢!
答案 0 :(得分:0)
几乎解决了,对于jQuery,这段代码可行。但是放大镜仍然不起作用。
(function($){})(window.jQuery);
$(document).ready(function(){
$('#contentport > ul > li').live('mouseenter', function(){
$(this).find('img.attachment-portfolio').stop(true, true).animate({'opacity': '0.8'}, {duration:500});
});
$('#contentport > ul > li').live('mouseleave', function(){
$(this).find('img.attachment-portfolio').stop(true, true).animate({'opacity': '1'}, {duration:500});
});
});
答案 1 :(得分:0)
我不确定这是否会对你的放大镜问题有所帮助,但是在我自己(也就是QuickSand杀死我的翻转功能)遭遇了一些错误的开始之后,我发现我的解决方案是指定{{ 1}} 内部 selector
函数调用:
.on()
这似乎解决了我的问题,因为简单地使用$(document).ready(function(){
$('#contentport').on('mouseenter', 'ul li', function() {
$(this).find('img.attachment-portfolio').stop(true, true).animate({'opacity': '0.8'}, {duration:500});
});
$('#contentport').on('mouseleave', 'ul li', function() {
$(this).find('img.attachment-portfolio').stop(true, true).animate({'opacity': '1'}, {duration:500});
});
});
无法使用克隆元素。
手指交叉,这很有帮助。