【问题标题】:div grow at top of screen, shrink once scrolleddiv 在屏幕顶部增长,滚动后缩小
【发布时间】:2015-08-07 04:24:42
【问题描述】:

我将网站上的右上角三角形按钮固定在右上角。当用户位于屏幕顶部时,我希望它的动画尺寸(从右上角)放大 125%,但在滚动时返回其常规尺寸。

HTML(使用 font-awesome 'fa fa-home fa-2x' 作为图标)

<a id="corner-tri" href="#" target="_blank">
    <div id="corner-tri-content">
        <span class="fa fa-home fa-2x"></span>
    </div>
</a>

CSS

#corner-tri {
  display: block;
  position: fixed;
  z-index: 99999;
  width: 65px; height: 65px;
  border-style: solid;
  border-width: 0 65px 65px 0; /* adjust for size of triangle */
  border-color: transparent #1ebeaf transparent transparent; /* adjust for color of triangle */
  top: 0; right: 0;
  color: #fff;
  -webkit-transition: border-color 0.3s ease;
  -moz-transition: border-color 0.3s ease;
  -ms-transition: border-color 0.3s ease;
  transition: border-color 0.3s ease;
}

#corner-tri:hover {
  border-color: transparent #2e2e2e transparent transparent;
}

#corner-tri-content{
  position: relative;
  top: 10px;
  right: -35px;
}

当用户滚动时,它是当前我希望的大小,不知道如何将其设置得更大(从右上角起 125%)

【问题讨论】:

    标签: javascript html css


    【解决方案1】:

    有几件事,第一,你需要你的过渡是为了“宽度”;然后,使用 JQuery(我假设你可以)来捕捉用户滚动的时间。 例如,

    在你的css中,添加#corner-tri {transition: width 1s;}

    在你的 javascript 中,添加类似这样的内容

        $("body").scroll(function(){
                               $("corner-tri").css("width",
                                                   "[some small width]");
                               return false;
                                    };
    

    【讨论】:

    • 是的,我有 JQuery 设置,我可以把它放在我的 脚本标签中的标签中吗?只是一个简单的数字。 [100] 在“一些小宽度”部分
    • 你需要把它放在一个在文档、窗口或正文加载时调用的函数中; $(window).load(function(){[放在这里]}; 因为要确保在body实际存在后滚动方法绑定到body,如果只是放在header中,body就不会存在
    • 似乎无法让它工作,我在过渡中添加了宽度。和 100px 到代码的宽度部分
    • 哎呀!将“#”添加到元素 ID; $("#corner-tri")
    猜你喜欢
    • 2010-11-16
    • 1970-01-01
    • 2020-08-28
    • 1970-01-01
    • 2015-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多