淡化除了特定锚类之外的所有锚点

时间:2016-05-02 17:53:44

标签: javascript html

我目前有这个基页淡化脚本函数,目前针对所有锚点('a'),但不确定如何从淡出的类中精确地排除某个类(.noFade)的锚点。

JS:

$(document).ready(function(){
    // to fade in on page load
    $("body").css("display", "none");
    $("body").fadeIn(400); 

    // to fade out before redirect
    $('a').click(function(e){
        redirect = $(this).attr('href');
        e.preventDefault();

        $('body').fadeOut(400, function(){
            document.location.href = redirect
        });
    });
})

提前致谢! 更新:谢谢,所有这些答案都是正确的并且有效。

2 个答案:

答案 0 :(得分:0)

我认为您正在寻找:not()https://api.jquery.com/not-selector/

$('a:not(.noFade)').click(function(e){
    redirect = $(this).attr('href');
    e.preventDefault();
    $('body').fadeOut(400, function(){
        document.location.href = redirect
     });
   });
 })

答案 1 :(得分:0)

您可以使用 :not 选择器:

$('a:not(".noFade")') //All anchors that has no class noFade

希望这有帮助。

$('a:not(".noFade")').click(function(){
    alert("targeted");
})
a{
  color: green;
  
}

a.noFade{
   color: red;  
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="#">1</a>
<a href="#" class="noFade">2</a>
<a href="#">3</a>
<a href="#">4</a>
<a href="#" class="noFade">5</a>