1

I'm editing this template, I removed the overlay and I moved it to bottom to see the images when move mouse over image.


from this:

enter image description here


to this:

enter image description here

But the problem is that when I click on the text opens the image. The image must be opened only when I click on his thumbnail not when click on the text!

I am a newbie of jquery so I would like to ask help please!

This is my code:

<ul id="portfolio-items" class="<?php if($magic_door) : ?>enabled<?php endif; ?> clearfix">
    <li id="portfolio-<?php the_ID(); ?>" class="<?php echo $output; ?>visible" data-id="post-<?php the_ID(); ?>">
         <div <?php post_class() ?> id="post-<?php the_ID(); ?>">
             <a class="entry-link" href="<?php the_permalink(); ?>">
                  <?php tz_featured_image(get_the_ID(), TRUE); ?>
             </a>
        </div>
        <div class="entry-headline">
             <div class="entry-title">
                <h5><?php the_title(); ?></h5>
             </div>
        </div>
        <div class="entry-info">
             <?php the_excerpt(); ?>
        </div>
    </li>
    <?php endwhile; endif; ?>
</ul> 


In HTML:

<ul id="portfolio-items" class="enabled clearfix isotope">                   
         <li id="portfolio-48" class="term-7 visible isotope-item" data-id="post-48">
                <!--BEGIN .hentry -->
                 <div class="post-48 portfolio type-portfolio status-publish hentry" id="post-48">
                        <a class="entry-link" href="http://www.ilprofetamuhammad.it/?portfolio=sky"> 
                        <img src="http://turbo.themezilla.com/garnish/files/2011/06/sky.jpg" alt="Sky"></a>
                </div>

                <div class="entry-headline">
                        <div class="entry-title">
                            <h5>Sky</h5>
                        </div>
                        <div class="entry-date">October 24th, 2012</div>                
                </div>
                        <!--END .hentry-->  
        </li>

        <li id="portfolio-44" class="visible isotope-item" data-id="post-44">
                 <!--BEGIN .hentry -->
                 <div class="post-44 portfolio type-portfolio status-publish hentry" id="post-44">
                        <a class="entry-link" href="http://www.ilprofetamuhammad.it/?portfolio=test"> 
                        <img src="http://turbo.themezilla.com/garnish/files/2012/01/stars-t.jpg" alt="Test"></a>
                </div>

                <div class="entry-headline">
                        <div class="entry-title">
                            <h5>Test</h5>
                        </div>
                        <div class="entry-date">October 24th, 2012</div>                
                </div>
                        <!--END .hentry-->  
        </li>
</ul>



Javascript:

    var magicDoor = jQuery('#door-frame')
    var url = magicDoor.find('#magic-door').attr('data-url');
    var portfolioItems = jQuery('#portfolio-items li');
    var portfolioItemsEnabled = jQuery('#portfolio-items.enabled li');

    if(magicDoor.hasClass('open') && jQuery('#portfolio-items').hasClass('enabled')) {
        var postId = magicDoor.attr('data-id');
        portfolioItems.removeClass('active');
        jQuery('#portfolio-' + postId).addClass('active');
        portfolioItems.not('.active').find('.overlay').css({ display: 'none' });
        tz_getPortfolio(postId);
    }
    /*  When a portfolio item is clicked */
    jQuery('#portfolio-items.enabled li').live("click", function(e) {   
        if(!jQuery(this).hasClass('active') && jQuery(this).hasClass('visible')) {
            portfolioItems.removeClass('active');
            jQuery(this).addClass('active');
            portfolioItems.not('.active').find('.overlay').css({ display: 'none' });
            var postId = jQuery(this).attr('id').split('portfolio-')[1];
            tz_getPortfolio(postId);
        }
        e.preventDefault();
    });     
 });

I tried to add <a> to

/* When a portfolio item is clicked */
jQuery('#portfolio-items.enabled li a').live("click", function(e) {

But doesn't work.
Any help is appreciated!
Thanks

4

1 に答える 1

0

私の疑いは、関連するコードが含まれていないことです。つまり、HTML要素がどこにも表示されません... #magic-door...これは、プラグインが要素とポップアップをロードしている可能性が高いものです。

使用しているテンプレートのソース コードに実際に飛び込む必要があります。コードを読み取ったり解読したりできない場合は、より大きな問題が発生します。

それにもかかわらず、ここに私が提供できる最善の解決策があります.

  1. 適切な postID を選択 / 渡していることを確認してください (おそらくテンプレートの動作方法)。

  2. Google JavaScript Debugging - 適切な/関連性のある/建設的な十分な質問をしていないようです。

于 2012-10-29T23:10:57.947 に答える