如果容器的scrollLeft等于0,则隐藏div

时间:2013-12-20 15:40:13

标签: javascript jquery scroll

我有一个使用导航按钮滚动的div用于流畅的宽度页面,但我对Javascript很新,我在使用scrollLeft = 0来隐藏最左边的导航按钮时遇到问题滚动,并显示div是否有要滚动的宽度。我一直在搜索,我发现的大部分内容似乎只与文档滚动有关,而不是容器。

这是我到目前为止所做的,我希望它不会太糟糕。

<script>
$(function(){
    var scrollFunc = function() {
    var scrollLeft = $(.Titan).scrollLeft();
    if(scrollLeft = $(.Titan).scrollLeft{
    $(#left-select2).hideDiv();
    else(scrollLeft != $(.Titan).scrollLeft{
    $(#left-select2).showDiv();
    };
    });
</script>

我想要完成的是检查div是否完全向左滚动(值为0),如果是,则隐藏div #left-select2。如果不是,那就显示出来。再次。如果它充满了虫子,我很抱歉。

2 个答案:

答案 0 :(得分:1)

您的代码存在很大缺陷,但以下内容会删除您的所有错误并使用您提供的类和ID

$('.Titan').scroll(function() {// Fires each time the container is scrolled
    if($(this).scrollLeft() == 0) {
        $('#left-select2').hide();// Fires when the container is at its left 
                                   // most scroll position
    }
    else if($('#left-select2').css('display') != 'block') {
        $('#left-select2').show(); // Fires when the container is at any other
                                   // scroll position and the element is hidden
    }
}).scroll(); // Fires the scroll function to start so it is correct on load

Demo

注意事项:

  • 您的代码应位于容器的scroll函数内
  • 关闭带有右括号的if语句
  • 以关闭括号括起来的功能
  • 正确的jQuery函数是hideshow,而不是hideDivshowDiv(除非它们是您的自定义函数)
  • scrollLeft返回左侧滚动位置,您不应该有 之后的括号

答案 1 :(得分:0)

jQuery语法为hide(),而不是hideDiv()