2014-01-24 21 views
0

我不斷收到錯誤TurnJsError:此選擇器有多個元素我已經在Firebug中做了一些檢查,我知道我的Jquery正在被加載,因爲我所有的庫/我需要的腳本。此選擇器有多個元素錯誤

錯誤出現在我的頁面加載後,如果我將以下部分的javascript添加到控制檯並在頁面完全加載之前運行它,那麼它仍然返回與上面相同的錯誤,但是如果我讓頁面加載(再次獲取上面的錯誤),然後在控制檯中運行該腳本我得到另一個錯誤TypeError:Node.insertBefore的參數1沒有實現接口節點。

function loadApp() { 

// Create the flipbook 

$('.flipbook').turn({ 
     // Width 

     width:922, 

     // Height 

     height:600, 

     // Elevation 

     elevation: 50, 

     // Enable gradients 

     gradients: true, 

     // Auto center this flipbook 

     autoCenter: true 

}); 
} 
// Load the HTML4 version if there's not CSS transform 
$(document).ready(function() { 
yepnope({ 
test : Modernizr.csstransforms, 
yep: ['../../lib/turn.js'], 
nope: ['../../lib/turn.html4.min.js'], 
both: ['css/basic.css'], 
complete: loadApp 
}); 
}); 

難道我失去了一些東西多數民衆贊成拋出這些錯誤的原因是什麼?

當我添加.first()所以它像$('。flipbook')。first()。turn({在頁面完全加載後,我在圖像中獲得輕微移動,但仍然出現錯誤TypeError :Node.insertBefore的參數1未實現接口節點當我將圖像上單擊它自敗,但不顯示下一個圖像,而不是我得到另一個錯誤類型錯誤:c爲null

+1

我在猜測,turn.js只能在當時使用一個單一元素,並且你傳遞了一個類名,所以你可能有多個'.flipbook'元素。 – adeneo

+0

以及adeneo的評論,您可以刪除所有其他具有動畫書類的元素或使用:$('。flipbook')。first()'獲取該類的第一個元素。 –

+0

當我添加.first()所以它像'$('。flipbook')。first()。turn({'在頁面完全加載後,我在圖像中獲得輕微移動,但仍然出現錯誤** TypeError :Node.insertBefore的參數1沒有實現接口節點**當我點擊我的圖像消失,但下一個圖像不顯示,而是我得到另一個錯誤** TypeError:c爲空** –

回答

2

turn.js一起工作單個元素使用.each函數

$('.flipbook').each(function(){ 
    $(this).turn(...); 
}) 

注意那回合可能需要一個唯一的id在容器上。