如何使用JQuery按类和id选择非父元素?

时间:2016-03-14 16:23:23

标签: javascript jquery html

我需要通过id和类选择元素和JQuery函数。问题是元素不是父母。像这样的Smth:

<div class="image"></div>

<div id="contact"></div>

我的代码正在运行,但这不是解决方案。

$(document).ready(function() {

$(window).scroll(function() {

    $('.featurette-image').each(function() {

        var bottom_of_object = $(this).offset().top + $(this).outerHeight();
        var bottom_of_window = $(window).scrollTop() + $(window).height();

        if( bottom_of_window > bottom_of_object ) {
            $(this).animate({'opacity':'1'}, 700);
        }

    });

    $("#contactme").each(function() {

        var bottom_of_object = $(this).offset().top + $(this).outerHeight();
        var bottom_of_window = $(window).scrollTop() + $(window).height();

        if( bottom_of_window > bottom_of_object ) {
            $(this).animate({'opacity':'1'}, 500);
        }
    });

});

});

提前致谢。

2 个答案:

答案 0 :(得分:0)

您可以使用逗号,加入jquery选择器,如下所示:

$("#contactme, .featurette-image").each(...

此行为在其文档中有所描述:https://api.jquery.com/multiple-selector/

答案 1 :(得分:0)

也许这个:

$("#contactme, .featurette-image").each(function() {
  var bottom_of_object = $(this).offset().top + $(this).outerHeight();
  var bottom_of_window = $(window).scrollTop() + $(window).height();

  if( bottom_of_window > bottom_of_object ) {
     $(this).animate({'opacity':'1'}, 700);
  }
});

$(document).ready(function() {

  $(window).scroll(function() {

    $('body div').each(function() {

       if ($(this).hasClass('featurette-image') || $(this).attr('id') == 'contact') {

        var bottom_of_object = $(this).offset().top + $(this).outerHeight();
        var bottom_of_window = $(window).scrollTop() + $(window).height();

        if( bottom_of_window > bottom_of_object ) {
            $(this).animate({'opacity':'1'}, 700);
        }
      }
    });



  });
});