在流沙中过滤后,动画悬停效果消失

时间:2012-08-06 19:42:04

标签: animation hover prettyphoto quicksand

我有一个带流沙的投资组合页面,效果很好。 为了增加一些乐趣,我添加了漂亮的照片,也完美地工作。

但现在我为图片添加了悬停效果。它正在工作,但是当我使用过滤器排序时,悬停效果已经消失。我甚至没有看到它在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

jquery live hover

How to apply jQuery quicksand (sort) without losing a jQuery based portfolio hover?

jQuery quicksand plugin with .click method

提前致谢!

2 个答案:

答案 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}); }); }); 无法使用克隆元素。

手指交叉,这很有帮助。