2010-09-10 68 views
1

我使用的圖庫視圖,當負載在頭部這樣的腳本裝載圖庫視圖腳本使用jQuery導致問題

<script type="text/javascript" src="/js/galleryview/jquery.easing.1.3.js"></script> 
    <script type="text/javascript" src="/js/galleryview/jquery.galleryview-2.1.js"></script> 
    <script type="text/javascript" src="/js/galleryview/jquery.timers-1.2.js"></script> 

一切工作正常,但是當我使用jQuery加載這樣

$(document).ready(function(){ 
    $('#gallery').hide(); 

    $('<link />').appendTo('head').attr({ 
     type: 'text/css', 
     rel: 'stylesheet', 
     href: '/js/galleryview/galleryview.css' 
    }); 
    $.getScript('/js/galleryview/jquery.easing.1.3.js', function() { 
     $.getScript('/js/galleryview/jquery.galleryview-2.1.js', function() { 
      $.getScript('/js/galleryview/jquery.timers-1.2.js', function() { 
       $('#gallery').show(); 
       $('#gallery').galleryView({ 
        transition_speed: 1200, 
        background_color: '#006', 
        border: 'none', 
        easing: 'easeInOutBack', 
        pause_on_hover: true 
       }); 
      }); 
     }); 
    }); 
}); 

我得到404上的導航按鈕

http://mydoamian/undefineddark/prev.gif

http://mydoamian/undefineddark/next.gif

任何幫助,將不勝感激

+0

你需要加載這樣的js嗎?它看起來很複雜,因爲它可能更簡單 - 它可能不會幫助您使用嵌套回調加載它們。 – Adam 2010-09-10 20:23:54

+0

我想加載它們,因爲我不想在特定頁面上的cms中的每個頁面上加載它們。我正在使用galleryView,並且我有嵌套的回調,所以我知道何時可以運行galleryView – mcgrailm 2010-09-10 20:38:05

回答

1

我能夠通過定義主題路徑爲空字符串第一

 $('script').each(function(i){ 
      var s = $(this); 
      theme_path = ''; 
      if(s.attr('src') && s.attr('src').match(/jquery\.galleryview/)){ 
       loader_path = s.attr('src').split('jquery.galleryview')[0]; 
       theme_path = s.attr('src').split('jquery.galleryview')[0]+'themes/'; 
      } 

然後我呼籲修改在行853的代碼來解決這個問題galleryView我相應地定義了nav_theme

$('#gallery').hide(); 
$('<link />').appendTo('head').attr({ 
rel: 'stylesheet', 
type: 'text/css', 
href: prefix +'js/galleryview/galleryview.css' 
}); 
$.getScript(prefix +'js/galleryview/jquery.easing.1.3.js', function() { 
     $.getScript(prefix +'js/galleryview/jquery.galleryview-2.1.js', function() { 
     $.getScript(prefix +'js/galleryview/jquery.timers-1.2.js', function() { 
          $('#gallery').show(); 
      $('#gallery').galleryView({ 
       transition_speed: 1200, 
       background_color: '#006', 
       border: 'none', 
       easing: 'easeInOutBack', 
       nav_theme:prefix +"js/galleryview/themes/dark" 
      }); 
     }); 
    }); 
});