2014-01-22 77 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. 加载时隐藏导航链接的引导程序隐藏