基于位置的Javascript div淡入淡出

基于位置的Javascript div淡入淡出,javascript,function,loops,position,Javascript,Function,Loops,Position,我想点击一个div,让它和其他div一个接一个地淡出。我希望一个div衰减和下一个div衰减之间的时间与div之间的距离成比例 所有这些div都是一个较大div的后代 我有可以使div褪色的代码。我现在正在尝试编写一个函数,它将查看每个像素的父div宽度,并在遇到任何div时使其褪色 下面是javascript: function sweep(){ var n3_position = #note_3.position(); for (i=0;i<900;i++){

我想点击一个div,让它和其他div一个接一个地淡出。我希望一个div衰减和下一个div衰减之间的时间与div之间的距离成比例

所有这些div都是一个较大div的后代

我有可以使div褪色的代码。我现在正在尝试编写一个函数,它将查看每个像素的父div宽度,并在遇到任何div时使其褪色

下面是javascript:

function sweep(){
    var n3_position = #note_3.position();
    for (i=0;i<900;i++){
        if n3_position.left == i {
            fade('note_3');
        }
    }
}
function fade(el){
    setTimeout(function(){
        $(el).fadeOut("slow",function(){
            document.getElmentById(el).style.display="none";
        }); 
    }, 100);
}
函数扫描(){
变量n3_position=#注3.position();

对于(i=0;i我认为您的第一个函数中有一些错误。请尝试下面的方法,看看是否对您更有效

function sweep(){
    var n3_position = document.getElementById('note_3').offsetLeft;
    for (i=0;i<900;i++){
        if (n3_position == i) {
            fade('note_3');
        }
    }
}

您缺少了所需的“#”,因为您正在按Id引用元素。此外,您可能不需要将显示样式更改为“无”,因为淡出方法将为您解决此问题。

我认为您的第一个函数中有一些错误。请尝试下面的方法,看看是否对您更有效

function sweep(){
    var n3_position = document.getElementById('note_3').offsetLeft;
    for (i=0;i<900;i++){
        if (n3_position == i) {
            fade('note_3');
        }
    }
}

您缺少了所需的“#”,因为您正在按Id引用元素。此外,您可能不需要将显示样式更改为“无”,因为淡出方法会为您解决此问题。

您的代码有一些问题。首先,您调用
fade('note_3'))
但是在淡入淡出功能中有
$(el)
因为缺少id选择器
#
,所以无法工作。您的代码有一些问题。首先您调用
淡入淡出('note_3')
,但是在淡入淡出功能中有
$(el)
这将不起作用,因为它缺少id选择器
#
。谢谢。我实际上使用了一个更简单的解决方案,但您在一些语法方面帮助了我。谢谢。我实际上使用了一个更简单的解决方案,但您在一些语法方面帮助了我。
function fade(el){
    setTimeout(function(){
        $('#' + el).fadeOut("slow");
    }, 100);
}