2014-03-29 52 views
1

財產「scrollHeight屬性」爲什麼我收到此錯誤:遺漏的類型錯誤:無法讀取的不確定

Uncaught TypeError: Cannot read property 'scrollHeight' of undefined.

的「更多」按鈕返回我的頁面的頂部,而不是改變我<div>高度元件。我該如何解決?

這是我的代碼:

function piki($atts, $content = null) { 
{ ?> 
<script type="text/javascript"> 
var h = jQuery('#piki')[0].scrollHeight; 


jQuery('#more').click(function(e) { 
    e.stopPropagation(); 
    jQuery('#piki').animate({ 
     'height': h 
    }) 
}); 

jQuery(document).click(function() { 
    jQuery('#piki').animate({ 
     'height': '50px' 
    }) 
}) 
</script> 
<?php } 
    $url = '/?s='; 
    $str = ''; 

    $output = array(); 
    $count = 0; 

    foreach (explode(", ",$content) as $content) { 
     $count++; 
     $output[] = "<a href='" . $url . $content . "'>" . $content . "</a>"; 
     if ($count == 50) { 
      break; 
     } 
    } 

    return '<div id="piki" class="piki">'.implode(", ", $output).'</div><a id="more" style="float: left;" href="#">Read more</a>'; 
} 
add_shortcode('piki', 'piki'); 
+0

減去原因我的英語不好,不幫助我。 – user3476062

回答

5

的問題是,jQuery('#piki')[0]不選擇任何元素。因此,當您嘗試獲取scrollHeight時,您試圖從undefined值中獲取字段。這是因爲<script>中的代碼在瀏覽器處理了<div id="piki"...元素之前執行。如果您將<script>移動到它出現的位置,並在div之後執行,那麼JavaScript應該無誤地執行。

相關問題