Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/457.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 链接隐藏,直到使用jquery滚动_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript 链接隐藏,直到使用jquery滚动

Javascript 链接隐藏,直到使用jquery滚动,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有一个返回到顶部的链接,但是即使页面位于顶部,它也会显示出来 <a class="w-toplink active" href="#"><i class="fa fa-chevron-up"></i></a> jQuery: $(window).scroll(function(){ var scrollTop = $(window).scrollTop(), $toplink = $('.w-toplink');

我有一个返回到顶部的链接,但是即使页面位于顶部,它也会显示出来

<a class="w-toplink active" href="#"><i class="fa fa-chevron-up"></i></a>
jQuery:

$(window).scroll(function(){
    var scrollTop = $(window).scrollTop(),
        $toplink = $('.w-toplink');

    if(scrollTop > 0){
        $toplink.addClass('active');
    } else{
        $toplink.removeClass('active');
        }
});
CSS:

编辑我为您添加了一些额外的代码

  • .w-toplink在默认情况下是隐藏的
  • 当用户滚动时,不透明度变为0.7(通过class.active)
  • 当用户悬停链接时,它将完全可见(不透明度:1)
  • 听起来很有趣

    您可能需要简单地为Scroll放置一个eventListener。 这在vanillaJS或jQuery中都是可能的

    有关滚动的更多信息,请参见此:

    .w-toplink{
    显示:块;
    位置:固定;
    底部:0;
    右:30px;
    文本对齐:居中;
    字体大小:14px;
    填充顶部:15px;
    线高:50px;
    高度:30px;
    宽度:50px;
    边界半径:5px;
    z指数:100;
    -webkit过渡:背景色0.3s,不透明度0.3s,底部0.3s;
    过渡:背景色0.3s,不透明度0.3s,底部0.3s;
    背景色:#333;
    背景色:rgba(0,0,0,0.3);
    颜色:#fff;
    }
    
    Lorem Ipsum和其他东西…Lorem Ipsum和其他东西。。。Lorem Ipsum和其他东西。。。Lorem Ipsum和其他东西。。。洛雷姆·伊普苏姆和其他东西…洛雷姆·伊普苏姆和其他东西…洛雷姆·伊普苏姆和其他东西。。。Lorem Ipsum和其他东西。。。Lorem Ipsum和其他东西…Lorem Ipsum和其他东西…Lorem
    Ipsum和其他东西…Lorem Ipsum和其他东西。。。Lorem Ipsum和其他东西。。。Lorem Ipsum和其他东西。。。
    

    • 样品
    • 样品
    • 样品
    • 样品
    • 样品 Lorem Ipsum和其他东西…Lorem Ipsum和其他东西。。。Lorem Ipsum和其他东西。。。Lorem Ipsum和其他东西。。。洛雷姆·伊普苏姆和其他东西…洛雷姆·伊普苏姆和其他东西…洛雷姆·伊普苏姆和其他东西。。。Lorem Ipsum和其他东西。。。Lorem Ipsum和其他东西…Lorem Ipsum和其他东西…Lorem Ipsum和其他东西…Lorem Ipsum和其他东西。。。Lorem Ipsum和其他东西。。。Lorem Ipsum和其他东西。。。

    • 样品
    • 样品
    • 样品
    • 样品
    • 样品 Lorem Ipsum和其他东西…Lorem Ipsum和其他东西。。。Lorem Ipsum和其他东西。。。Lorem Ipsum和其他东西。。。洛雷姆·伊普苏姆和其他东西…洛雷姆·伊普苏姆和其他东西…洛雷姆·伊普苏姆和其他东西。。。Lorem Ipsum和其他东西。。。Lorem Ipsum和其他东西…Lorem Ipsum和其他东西…Lorem Ipsum和其他东西…Lorem Ipsum和其他东西。。。Lorem Ipsum和其他东西。。。Lorem Ipsum和其他东西。。。

    • 样品
    • 样品
    • 样品
    • 样品
    • 样品
    • 样品
    • 样品
    • 样品
    • 样品
    执行以下操作:

    $(window).scroll(function () {
       if ($(this).scrollTop() > 0) {
           $('.w-toplink').fadeIn(250);
       } else {
           $('.w-toplink').fadeOut(250);
       }
    });
    
    并将其添加到CSS文件中:

    .w-toplink {
        display: none;
    }
    

    你试过这个吗?它在JSFIDLE中工作。。。你必须确保你有足够的时间滚动。。。不透明度:0;不适用于jQuery Show。。。如果您想在jQuery上隐藏某些内容,最好使用display:none。。。很好,谢谢!我试图让图标在悬停时更改,但无法更改。我想让它改变颜色使用不透明度或类似的效果?jsfiddle.net/uu1ufq20来实现您所说的。w-toplink:hover{background color:rgba(200200,0.4);}在css上。。然后在元素本身上,您可以进行转换:1s all(默认情况下,它已经是all,然后它将在1秒后激活悬停)ease(您想要的转换类型)这会将颜色更改为某种灰色。我始终使用rgba颜色表示从0到1.0的透明程度,不幸的是,除非使用sass,否则必须始终使用0。使用addClass('active')代替show()。然后,在CSS中,设置.active{opacity:0.7;}和.active:hover{opacity:1;}。您必须使用removeClass('active')将else语句添加到脚本中,因此当用户位于顶部时,脚本将删除类'active'。这也应该有效!我只是想让这些小动画远离我的javascript,并用CSS控制它们。
    <a class="w-toplink active" href="#"><i class="fa fa-chevron-up"></i></a>
    
        <script type="text/javascript">
    $("a.w-toplink").hide();
        $( window ).scroll(function() {
      $( "a.w-toplink" ).css( "display", "visible" ).fadeIn( "slow" );
    });
    
    $(window).scroll(function () {
       if ($(this).scrollTop() > 0) {
           $('.w-toplink').fadeIn(250);
       } else {
           $('.w-toplink').fadeOut(250);
       }
    });
    
    .w-toplink {
        display: none;
    }