0

我有一个带有流沙的投资组合页面,它运行良好。为了增加一些乐趣,我添加了 prettyPhoto,效果也很好。

但现在我为图像添加了悬停效果。它正在工作,但是当我使用过滤器进行排序时,悬停效果已经消失。我什至没有看到它在 Firebug 中工作。

加载 .js 文件 -> jquery、流沙、prettyphoto,然后是悬停功能。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>

我希望你有你需要的一切,我已经看过那些链接,但我真的不知道该怎么做...... 流沙插件的悬停效果

jquery 实时悬停

如何在不丢失基于 jQuery 的投资组合悬停的情况下应用 jQuery 流沙(排序)?

带有.click方法的jQuery流沙插件

提前致谢 !

4

2 回答 2

0

我不确定这是否有助于解决您的放大镜问题,但是在我自己在这个问题上遇到了一些错误的开始(即 QuickSand 杀死我的翻转功能)之后,我发现我的解决方案是指定函数调用的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});                           
    });     

});

这似乎解决了我的问题,即简单地使用$('#contentport ul li').on('mouseenter', function() {...对克隆元素不起作用。

手指交叉,这很有帮助。

于 2012-08-18T11:27:28.977 回答
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});                           
    });     

});
于 2012-08-07T07:06:32.273 回答