2014-01-22 76 views
0

當點擊底部的'更多'鏈接時,我有一個水平網站可以持續顯示我的表格/圖片(我的圖片在表格中)。我試圖做到這一點,當我的最後一張圖片/表格可見時,'更多'鏈接消失。我在編碼方面很新,但是我設法編譯了這個,但它不起作用。當表格可見時隱藏鏈接

我讀過CSS,只要它適合在頁面中,它就會識別出一個可見的元素,並且必須使用Javascript來檢查它是否實際在頁面上可見。感謝您的任何解決方案。

<script src="./lib/jquery.js" type="text/javascript"> 
    function() { 
     if($('#finaltable').is(':visible')){ 
      $('#morelink').remove(this); 
     } 
    } 
</script> 
<html> 
    //There are about 20 tables but the last one is ID'd as 'final table' 
    <table id="finaltable"> 
     <tr><td>Final Table</td></tr> 
    </table> 

回答

2

不能使用jQuery的:因爲它僅僅根據你的元素具有CSS顯示不同的事實可見,是沒有(其父母也一樣),其寬度和高度大於0 references

你的情況,我會使用偏移屬性。在「更多」按鈕上點擊事件來檢查決賽桌在哪裏。

<a id="more" href="#">More></a> 
<script> 
    jQuery(document).ready(function() { 
     $("#more").on("click",function(e) 
     { 
     //finaltable display on screen 
     if($("#finaltable").offset().left<=0) 
     { 
      $("#more").hide(); 
     } 
     }); 
    }); 
</script> 
+0

好吧,只是爲了確保你有多個表格從右到左滾動當你點擊「更多」時離開,對嗎? – Yoann

+0

Did not for me ..滾動是從左到右。 – user3221810

+0

因此,當你點擊「更多」時,顯示的表格n向右走,表格n + 1從左邊走向? – Yoann

0

您聲明在JavaScript函數而不是調用它。你可以寫下面的代碼。

/* Declare the function */ 
    var f = function() { 
     if($('#finaltable').is(':visible')){ 
      $('#morelink').remove(); 
     } 
    } 

    /* Call the function */ 
    jQuery(document).ready(function() { 
     f(); 
    }); 

這裏是代碼的demo

+0

最後一部分「f();」就在之前吧?我把它全部放入,但它不起作用:( – user3221810

+0

是的,f()在之前。您需要將

  • 11. mapoverlay可見時隱藏mapview ios7
  • 12. Div隱藏到可見與超時
  • 13. 隱藏鏈接值
  • 14. 當使用overflow-x隱藏時,overflow-y可見不起作用?
  • 15. 當Android軟鍵盤可見時隱藏特定視圖
  • 16. 當覆蓋div可見時隱藏父窗口的滾動條
  • 17. 當鍵盤可見或隱藏不工作時檢測
  • 18. 當元素在Javascript中可見時,它會切換回隱藏
  • 19. CSS3:當子div可見時隱藏父div
  • 20. 當隱藏div變得可見時下推內容?
  • 21. 當活動可見時隱藏前臺服務的通知
  • 22. Asp.net MVC可見/隱藏
  • 23. 當隱藏父元素與溢出時,阻止選項卡鏈接:隱藏
  • 24. Angular 2 - 當表格爲空時隱藏帶表格的面板
  • 25. 啓動時隱藏表格
  • 26. 當編輯器字段被隱藏時隱藏qTip錯誤消息,當可見時顯示
  • 27. jQuery通過表格行搜索,隱藏和可見
  • 28. 如果沒有表格行可見,則隱藏div
  • 29. 如果可以?不隱藏鏈接show.html
  • 30. 加載時隱藏導航鏈接的引導程序隱藏