Se a posição do div pai for definida como relativa e a posição do div filho for definida como absoluta, então o valor de style.left do div filho será relativo ao valor do div pai, que é o mesmo que offsetLeft A diferença é:
1. style.left retorna uma string, como 28px, e offsetLeft retorna um valor de 28. Se você precisar calcular o valor obtido, é mais conveniente usar offsetLeft.
2. style.left é leitura-gravação, offsetLeft é somente leitura, portanto, para alterar a posição do div, você só pode modificar style.left.
3. O valor de style.left precisa ser definido antecipadamente, caso contrário o valor obtido ficará vazio. E deve ser definido em html. Fiz experimentos. Se for definido em css, o valor de style.left ainda está vazio. Este é o problema que encontrei no início. .esquerda.
offsetLeft ainda pode ser obtido sem definir a posição do div antecipadamente.
// Esta função opera em uma caixa suspensa de categoria infinita. Existe apenas uma caixa suspensa no início da página. Quando um valor na caixa suspensa é selecionado.
Gere uma seleção dinamicamente, o item selecionado é uma subcategoria e, ao mesmo tempo, a caixa de seleção da subcategoria deve ser movida 20px para trás;
Copie o código do código da seguinte forma:
função itemtree_cats_change (selectObj)