【问题标题】:Adding a second 'action' to function for different div添加第二个“动作”以适用于不同的 div
【发布时间】:2017-03-15 15:51:16
【问题描述】:

我有以下淡入/淡出 div/按钮的工作代码

js

jQuery(document).ready(function($){

var offset = 150,

// duration of the animation (in ms)
scroll_top_duration = 3000,

// bind with the button link
$animation = $('.fade-in');

// display or hide the button
$(window).scroll(function(){
    ( $(this).scrollTop() > offset ) ? $animation.addClass('btn-visible') :
    $animation.removeClass('btn-visible');
});

});

html

<div id='top-btn'>
   <a class="fade-in" href="#">...</a>
</div>

我想以相反的顺序将相同的类(.btn-visible)添加/删除到不同的 div,但似乎无法正常工作。

另一个div是&lt;div id="btn2"&gt;...&lt;/div&gt;

我希望它在 .fade-in 被删除时添加类('btn-visible')

【问题讨论】:

  • $(this).scrollTop() &lt;= offset ) ? $('#btn2').addClass('btn-visible') : $('#btn2').removeClass('btn-visible');
  • 该行在我的代码中的什么位置,就在同一个块之后?
  • 就在现有的之后。
  • 这样做会删除前一个按钮的功能(并且似乎不会将其添加到另一个按钮)
  • 创建一个MCVE,没有它就不可能看到问题出在哪里。

标签: javascript jquery html


【解决方案1】:

为什么不在 if 块中同时使用这两个操作;

$(window).scroll(function(){
    if( $(this).scrollTop() > offset ) {
       $animation.addClass('btn-visible');
       $('#btn2').removeClass('btn-visible'); 
    }
    else
    {
        $animation.removeClass('btn-visible');
        $('#btn2').addClass('btn-visible');
    }
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-08-25
    • 1970-01-01
    • 2014-10-18
    • 1970-01-01
    • 2019-01-25
    • 1970-01-01
    • 2017-01-07
    相关资源
    最近更新 更多