我目前正在使用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');
});
删除消失功能,可以激活所有链接,但显然不会删除它们。
答案 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');
});
});