VSC | 实现返回顶部功能的几种方法

一、实现返回顶部功能

        实现返回顶部功能,用户可在浏览长页面时轻松返回页面顶部。通过监听滚动事件,显示浮动按钮,点击后利用JavaScript或jQuery平滑滚动至页面顶部,提升用户体验。方法多样,包括原生JavaScript实现、CSS锚点结合JavaScript、以及利用jQuery插件快速集成。

二、方法

        前三种是是没有过渡直接返回顶部效果,而第四种方法“简单的jQuery动画”方法效果为动态平滑上移,其中包括动态加载、绝对定位、简单的jQuery动画以及IE6的兼容性处理。

2.1 锚点链接

        img是iconfont的图标。

<!-- img是iconfont的图标 -->
<!-- 第一种方法 使用锚点链接,href指向特定的id-->
<body style="height: 2000px;">
    <div id="top-one"></div>
    <a href="#top-one" style="position: fixed;right: 0;bottom: 0;">
        <img src="./返回顶部 .png" alt="">
    </a> 
</body>

2.2 scrollTop属性

<body style="height: 2000px;">
<div id="test" style="position: fixed;right: 0;bottom: 0;">
        <img src="./返回顶部 .png" alt="">
    </div>
</body>
<script>
        test.onclick = function(){
            document.body.scrollTop = document.documentElement.scrollTop = 0
        }
</script>

2.3 scrollTo(x,y)方法

 <!-- 用scrollTo(0,0)中的x、y的值来跳转到页面的具体位置 -->
<body style="height: 2000px;">
 <div>
      <div class="box">
        <div style="height: 600px">1</div>
      </div>
    </div>
    <div style="position: fixed; right: 0; bottom: 0">
      <a href="javascript:window.scrollTo(0,0)" class="btn" title="回到顶端">
        <img src="./返回顶部 .png" alt=""
      /></a>
    </div>
</body>

2.4 简单的jQuery动画

        这种方法包括动态加载、绝对定位、简单的jQuery动画以及IE6的兼容性处理。

html

<body>  
<div id="page" style="height: 2000px;">  
    <!-- 测试期间设置高度为2000px以便可以滚动 -->  
    <h1>页面内容</h1>  
    <p>滚动页面查看“返回顶部”按钮。</p>  
</div>  
  
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>  
</body>

CSS

<style>
    /* 基本样式 */  
body, html {  
    margin: 0;  
    padding: 0;  
    font-family: Arial, sans-serif;  
}  
  
#gotoTop {  
    display: none;  
    position: fixed;  
    bottom: 20px; /* 改为底部,更加直观 */  
    right: 20px; /* 保持在页面右侧 */  
    cursor: pointer;  
    padding: 10px 20px;  
    background-color: #fff;  
    border: 1px solid #ddd;  
    border-radius: 5px;  
    z-index: 1000; /* 确保按钮在内容之上 */  
    transition: opacity 0.3s ease; /* 平滑过渡效果 */  
}  
  
#gotoTop.hover {  
    background-color: #5CB542;  
    color: #fff;  
}  
  
/* 响应式设计(可选) */  
@media (max-width: 768px) {  
    #gotoTop {  
        bottom: 10px; /* 在小屏幕上调整位置 */  
        right: 10px;  
    }  
}
</style>

JavaScript

<script>
   $(document).ready(function() {  
    function gotoTop(options = {}) {  
        const { minHeight = 600 } = options;  
  
        const gotoTopHtml = '<div id="gotoTop" aria-label="返回顶部">返回顶部</div>';  
        $('body').append(gotoTopHtml);  
  
        const $gotoTop = $('#gotoTop');  
  
        $gotoTop.click(function() {  
            $('html, body').animate({ scrollTop: 0 }, 700);  
        }).hover(  
            function() { $gotoTop.addClass('hover'); },  
            function() { $gotoTop.removeClass('hover'); }  
        );  
  
        $(window).scroll(function() {  
            const scrollTop = $(window).scrollTop();  
            if (scrollTop > minHeight) {  
                $gotoTop.fadeIn(100);  
            } else {  
                $gotoTop.fadeOut(200);  
            }  
        });  
    }  
  
    gotoTop(); // 调用函数  
});
</script>

四、总结

        实现返回顶部功能,通过监听滚动、显示按钮、点击后平滑滚动至顶部,提升用户体验。方法涵盖原生JavaScript、CSS锚点结合JS、jQuery插件等,灵活选择适合项目需求的方式实现。

Visual Studio Code (VSC) 是一款流行的轻量级开源代码编辑器,它支持多种语言和框架,包括用于深度学习的工具。要利用VSC实现BP(Backpropagation,反向传播)神经网络,你可以选择以下步骤: 1. 安装必要的插件:安装如"Python"、"Jupyter Notebook" 和 "TensorFlow" 或 "PyTorch" 等科学计算相关的扩展,它们提供了构建和训练神经网络所需的库。 2. 设置环境:配置Python环境,确保已安装了NumPy、Pandas等数据处理库以及相应的深度学习库。 3. 使用VSCode编写代码:创建一个新的Python文件,开始编写基于TensorFlow或PyTorch的神经网络模型代码。例如,你可以定义一个简单的全连接层并实现前向传播和反向传播函数。 ```python import tensorflow as tf class SimpleNN(tf.keras.Model): def __init__(self): super(SimpleNN, self).__init__() self.dense = tf.keras.layers.Dense(10, activation='relu') def call(self, inputs): return self.dense(inputs) # 实现反向传播 def bp(self, loss, input_data, target_data): with tf.GradientTape() as tape: predictions = self(input_data) loss_value = loss(target_data, predictions) gradients = tape.gradient(loss_value, self.trainable_variables) self.optimizer.apply_gradients(zip(gradients, self.trainable_variables)) return loss_value # 创建实例并训练 model = SimpleNN() optimizer = tf.optimizers.Adam() for epoch in range(epochs): loss = model.bp(cross_entropy_loss, X_train, y_train) ``` 4. 运行和调试:通过终端或集成的Jupyter Notebook功能运行你的代码,并可视化训练过程,查看损失曲线和预测结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值