jquery.appear循环遍历数据

时间:2014-01-16 09:55:53

标签: jquery loops

我目前正在使用jquery.appear插件(https://github.com/morr/jquery.appear/),这很棒!

我有一个问题,每当我向页面添加一个新元素时,我必须为该元素编写一段新代码。我的代码中多次重复以下内容,所有更改都是元素的ID。

$('#page2 .wrapper').appear();


$('#page2 .wrapper').on('appear', function(event, $all_appeared_elements) {
     $('#page2n').css('font-weight','bold');
   });

$('#page2 .wrapper').on('disappear', function(event, $all_appeared_elements) {
     $('#page2n').css('font-weight','normal');
   });

有更自动的方法吗?以上内容总是一样的。我尝试了以下,但我没有成功:

$( ".screensize" ).each(function() {

  var getid = '#'+$(this).attr('id');
  //alert('#'+$(this).attr('id'));


$(getid+' .wrapper').appear();

$(getid+' .wrapper').on('appear', function(event, $all_appeared_elements) {
     $('#page2n').css('font-weight','bold');
   });

$(getid+' .wrapper').on('disappear', function(event, $all_appeared_elements) {
     $('#page2n').css('font-weight','normal');
   });


});

不确定以上是否是正确的方法?

修改

我现在有以下代码,仅适用于我的一个元素:

 $( ".screensize" ).each(function() {

  var getid = '#'+$(this).attr('id');


$(getid).appear();


$(getid).on('appear', function() {

     $(getid+'n').addClass('active');

});


$(getid).on('disappear', function() {

     $(getid+'n').removeClass('active');

});

删除消失功能,可以激活所有链接,但显然不会删除它们。

1 个答案:

答案 0 :(得分:0)

不确定,你内容的目的是什么。但是,您是否还可以为所有正在出现的新ID添加CLASS。

此外,以下代码应该有效:

$( ".screensize" ).each(function() {

  var getid = '#'+$(this).attr('id');
  //alert('#'+$(this).attr('id'));


$(getid+' .wrapper').appear();

$(getid+' .wrapper').on('appear', function(event, $all_appeared_elements) {
     $(getid + 'n').css('font-weight','bold');
   });

$(getid+' .wrapper').on('disappear', function(event, $all_appeared_elements) {
     $(getid + 'n').css('font-weight','normal');
   });


});