2011-12-12 94 views
0

我有一個新聞(博客)頁面,一次只顯示三個帖子(這是頁面,我現在有多遠:http://thewhiteoak.fluroltd.com/our-news/)。當用戶點擊帖子時,頁面頂部的主標題圖片將反映發佈縮略圖,但會顯示更大的版本(位於頁面頂部)。Javascript圖片替換

我不希望帖子經過他們自己的頁面,即single.php,因爲沒有必要這樣做。這可以從顯示三個帖子的通用博客頁面完成嗎?下面的代碼是我已經鏈接到一個更大的圖像,但不是新聞頁面。

請任何人都可以在這種情況下點亮一下。由於我得到一個Uncaught ReferenceError:img_paths沒有被定義......但我似乎無法通過這個。

這是MooTools的腳本進口:

<?php if (is_page_template('page-ournews.php')) { ?> 
<script type="text/javascript" src="<?php bloginfo('template_url'); ?>/js/moo_12.js"></script> 
<script type="text/javascript" src="<?php bloginfo('template_url'); ?>/js/moo_12_more.js"></script> 
<?php } ?> 

的JavaScript將找到的鏈接,使之取代目前的標題圖片爲後縮略圖。

<script> 

window.addEvent('domready', function() { 

    var images = []; 
    var loadingimages = []; 
    var loadingimg_path = ['images/loading-bar-black.gif']; 
      loadingimg_path.each(function(im) { 
       loadingimages[im] = new Element('img', { 
        'src': im, 
        'styles': { 
         'visibility': 'visible', 
         'opacity': '0', 
         'width': '961px', 
         'height': '382px', 
         'border': 'none' 

        } 
       }); 
      }); 
    <?php $description = get_post_meta($post->ID, "news-image-thumb", $single = true); 
     if($description !== '') { 
     //echo $description; 
     $pattern = '/href=(?<first>[\'|"])(?<href>[^\1]*?)(?P=first)/i'; 

     preg_match_all($pattern, $description, $matches); 
     $descr = "'".implode("','", $matches['href'])."'"; 

?> 
     var img_paths = [<?php echo $descr; ?>]; 
     <?php 
    } 
    ?> 

    var loader = new Asset.images(img_paths, { 
     onProgress: function(counter,index) { 
      loadingimages[ loadingimg_path[0] ].set('opacity','0').inject($('frame')).fade(1); 

     }, 
     onComplete: function() { 
      //fill our img array 
      img_paths.each(function(im) { 
       images[im] = new Element('img', { 
        'src': im, 
        'styles': { 
         'visibility': 'hidden', 
         'width': '961px', 
         'height': '382px', 
         'opacity': '0', 
         'border': 'none' 

        } 
       }); 
      }); 
      //assign click events 
      $$('#sidenav-content a').addEvent('click', function(e) { 
       e.stop(); 
       $('frame').empty(); 

       images[this.rel].set('opacity','0').inject($('frame')).fade(1); 
      }); 
      //show first img in frame 
      $('frame').empty(); 
      //loadingimages[ loadingimg_path[0] ].set('opacity','0').inject($('frame')).fade(1); 
      images[ img_paths[0] ].set('opacity','0').inject($('frame')).fade(1); 
     } 
    }); 

}); 


</script> 

顯示職位代碼:

<div id="frame" > 
    <?php $description = get_post_meta($post->ID, "news-image-large", $single = true); 
     if($description !== '') { 
     echo str_replace('<img ','<img width="961" height="382" id="laptopimage" ',$description); 

     }?> 
     </div> 

     <div class="post post-page" id="post-<?php the_ID(); ?>"> 
      <div class="post-content our-news"> 
       <?php the_content(); ?> 

        <ul id="news"> 
         <?php $page = (get_query_var('paged')) ? get_query_var('paged') : 1; query_posts("category_name=Our News&showposts=3&paged=$page"); while (have_posts()) : the_post(); $loopcounter++; ?> 
          <li id="postNews" class="post-<?php the_ID(); ?>"> 
           <div class="box"> 

           <?php 

             <?php if($feature_image_position == 'above'): ?> 
     <?php if($enable_feature_image == 'yes' && has_post_thumbnail()): ?> 
        <!--<a href="<?php echo $large_image_url[0]; ?>" title="<?php the_title_attribute(); ?>" rel="<?php echo $rel; ?>"><?php echo theme_TIM_Thumb(317, $feature_image_height); ?></a>--> 

        <div id="sidecol"> 
      <div id="sidenav"> 
       <div id="sidenav-content"> 
        <?php if((get_post_meta($post->ID, "news-image-thumb", true))) { ?> 
          <?php echo get_post_meta($post->ID, "news-image-thumb", true); ?>  
        <?php } ?> 


         <br/>  

       </div><!--sideanv-content--> 
      </div><!--sideanv--> 
     </div><!--sidecol--> 




     <?php endif; ?> 
    <?php endif; ?> 

回答

0

如果要我猜,這似乎是與jQuery(您的網站似乎使用的話)和MooTools的(兩者之間互動的問題如果我理解正確,你添加了)。你可以從這裏開始:Google: mootools noconflict