【问题标题】:Autoscroll to bottom of page, but make scroll interruptable by user自动滚动到页面底部,但用户可以中断滚动
【发布时间】:2021-08-27 07:15:41
【问题描述】:

我想自动滚动到网页底部(平滑),但我也希望用户在开始手动滚动时能够中断自动滚动:

document.addEventListener('click', () => {
  document.querySelector('#container').classList.add('scroll-down');
})

document.addEventListener('mousewheel', () => {
  document.querySelector('#container').classList.remove('scroll-down');
})
.scroll-down {
  transition: transform 6s linear;
  transform: translateY(-100%);
}
<div id='container'>
<div>0</div>
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
<div>7</div>
<div>8</div>
<div>9</div>
<div>10</div>
<div>11</div>
<div>12</div>
<div>13</div>
<div>14</div>
<div>15</div>
<div>16</div>
<div>17</div>
<div>18</div>
<div>19</div>
<div>20</div>
<div>21</div>
<div>22</div>
<div>23</div>
<div>24</div>
<div>25</div>
<div>26</div>
<div>27</div>
<div>28</div>
<div>29</div>
<div>30</div>
<div>31</div>
<div>32</div>
<div>33</div>
<div>34</div>
<div>35</div>
<div>36</div>
<div>37</div>
<div>38</div>
<div>39</div>
<div>40</div>
<div>41</div>
<div>42</div>
<div>43</div>
<div>44</div>
<div>45</div>
<div>46</div>
<div>47</div>
<div>48</div>
<div>49</div>
<div>50</div>
<div>51</div>
<div>52</div>
<div>53</div>
<div>54</div>
<div>55</div>
<div>56</div>
<div>57</div>
<div>58</div>
<div>59</div>
<div>60</div>
<div>61</div>
<div>62</div>
<div>63</div>
<div>64</div>
<div>65</div>
<div>66</div>
<div>67</div>
<div>68</div>
<div>69</div>
<div>70</div>
<div>71</div>
<div>72</div>
<div>73</div>
<div>74</div>
<div>75</div>
<div>76</div>
<div>77</div>
<div>78</div>
<div>79</div>
<div>80</div>
<div>81</div>
<div>82</div>
<div>83</div>
<div>84</div>
<div>85</div>
<div>86</div>
<div>87</div>
<div>88</div>
<div>89</div>
<div>90</div>
<div>91</div>
<div>92</div>
<div>93</div>
<div>94</div>
<div>95</div>
<div>96</div>
<div>97</div>
<div>98</div>
<div>99</div>
<div>100</div>
</div>

我正在寻找类似上面的内容,但是现在删除向下滚动类会完全删除转换,导致文档基本上一直滚动到内容的顶部。一旦用户转动,我想实际上停止自动滚动。这种设置有没有好的模式?其他人可以提供的任何建议将不胜感激!

【问题讨论】:

    标签: javascript html css scroll


    【解决方案1】:

    你可以删除 .scroll-down 类。

    document.addEventListener('mousewheel', () => {
        var element = document.getElementById("container");
        element.classList.remove("scroll-down");
       console.log(' * stop scrolling!');
    });
    

    或者使用 jQuery

    document.addEventListener('mousewheel', () => {
        $("#container").removeClass('scroll-down');
        console.log(' * stop scrolling!');
    });
    

    【讨论】:

    • 这种方法会导致页面滚动到内容的顶部,但目标是保留用户滚动到的位置...
    猜你喜欢
    • 2012-07-27
    • 1970-01-01
    • 1970-01-01
    • 2021-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多