Javascript 露骨 焦点 两个 三 测试信息 测试1 两个 三 测试信息 测试2 两个 三 测试信息444

Javascript 露骨 焦点 两个 三 测试信息 测试1 两个 三 测试信息 测试2 两个 三 测试信息444,javascript,jquery,html,Javascript,Jquery,Html,jsfiddle: 在本例中,如何在所有div(位置:绝对)上显示div.desc?我希望div.desc紧靠输入下方(在div.info等上方) 第二个问题:如果单击outside input.temp,如何隐藏div.desc? $('.temp').focus(函数(){//on focus。。。 $(this).closest('div').find('.desc').css({//Get desc top:$(此).offset().top+$(此).outerHeight()//设置

jsfiddle:

在本例中,如何在所有div(位置:绝对)上显示div.desc?我希望div.desc紧靠输入下方(在div.info等上方)

第二个问题:如果单击outside input.temp,如何隐藏div.desc?

$('.temp').focus(函数(){//on focus。。。
$(this).closest('div').find('.desc').css({//Get desc
top:$(此).offset().top+$(此).outerHeight()//设置Y位置
}).show();//并显示它。
}).blur(函数(){//On blur。。。
$(“.desc”).hide();//全部隐藏。
});
.desc{
背景颜色:绿色;
显示:无;
位置:绝对;/*添加此*/
}

测试信息
焦点
两个
三 测试信息 测试1 两个
三 测试信息444 测试2 两个
$('.temp').focus(函数(){//on focus。。。
$(this).closest('div').find('.desc').css({//Get desc
top:$(此).offset().top+$(此).outerHeight()//设置Y位置
}).show();//并显示它。
}).blur(函数(){//On blur。。。
$(“.desc”).hide();//全部隐藏。
});
.desc{
背景颜色:绿色;
显示:无;
位置:绝对;/*添加此*/
}

测试信息
焦点
两个
三 测试信息 测试1 两个
三 测试信息444 测试2 两个

您可以获得当前聚焦的输入框的位置,然后相应地定位.desc元素。不要忘记获取.desc元素a
位置:绝对

<div id="box">
    <div>
        <input type="text" class="temp" />
        <div class="list">
            focus <br />
            two <br />
            three
        </div>
        <div class="info">Test info </div>
    <div>
        <input type="text" class="temp" />
        <div class="list">
            test1
            two <br />
            three
        </div>
        <div class="info">Test info </div>
    </div>
    <div>
        <input type="text" class="temp" />
        <div class="list">
            test2
            two <br />
            three
        </div>
        <div class="info">Test info 444</div>
    </div>
</div>

更新的Fiddle

您可以获得当前聚焦的输入框的位置,然后相应地定位.desc元素。不要忘记获取.desc元素a
位置:绝对

<div id="box">
    <div>
        <input type="text" class="temp" />
        <div class="list">
            focus <br />
            two <br />
            three
        </div>
        <div class="info">Test info </div>
    <div>
        <input type="text" class="temp" />
        <div class="list">
            test1
            two <br />
            three
        </div>
        <div class="info">Test info </div>
    </div>
    <div>
        <input type="text" class="temp" />
        <div class="list">
            test2
            two <br />
            three
        </div>
        <div class="info">Test info 444</div>
    </div>
</div>

更新的Fiddle

jQuery has
.offset()
要获取和设置元素的绝对位置要回答第二个问题,请参阅。jQuery has
.offset()
要获取和设置元素的绝对位置要回答第二个问题,请参阅。