Javascript 在文本框中单击时展开div?
我希望有一个div展开,当用户在文本框中单击鼠标输入文本时显示内容。我以前在任何地方都没见过。我知道如何让事情在点击后扩展,但有人能告诉我我在找什么吗 基本上,我有一个电子邮件注册框,我只想显示电子邮件地址的输入字段,但如果用户真的决定进入电子邮件列表,该div将展开,同时询问他们的姓名和zipcode 谢谢 我已经为电子邮件表单设置了jquery,因此如果可能的话,我想在此进行扩展: 编辑:以下是我到目前为止的情况:Javascript 在文本框中单击时展开div?,javascript,jquery,Javascript,Jquery,我希望有一个div展开,当用户在文本框中单击鼠标输入文本时显示内容。我以前在任何地方都没见过。我知道如何让事情在点击后扩展,但有人能告诉我我在找什么吗 基本上,我有一个电子邮件注册框,我只想显示电子邮件地址的输入字段,但如果用户真的决定进入电子邮件列表,该div将展开,同时询问他们的姓名和zipcode 谢谢 我已经为电子邮件表单设置了jquery,因此如果可能的话,我想在此进行扩展: 编辑:以下是我到目前为止的情况: <div class="outeremailcontainer"&g
<div class="outeremailcontainer">
<div id="emailcontainer">
<?php include('verify.php'); ?>
<form action="emailform.php" method="post" id="sendEmail" class="email">
<h3 class="register2">Newsletter Signup:</h3>
<ul class="forms email">
<li class="email"><label for="emailFrom">Email: </label><input type="text" name="emailFrom" id="emailFrom name" value="<?= $_POST['emailFrom']; ?>" /><?php if(isset($emailFromError)) echo '<span class="error">'.$emailFromError.'</span>'; ?></li>
<li class="buttons email"><button type="submit" id="submit">Send</button><input type="hidden" name="submitted" id="submitted" value="true" /></li>
</ul>
<div id="details">
Testing
</div>
</form>
<div class="clearing">
</div>
</div>
<script language="javascript" type="text/javascript">
$("#name").focus(function() {
$("#details").fadeIn();
});
$("#name").focus(function() {
$("#details").stop().fadeIn();
}).blur(function() {
$("#details").stop().fadeOut();
});
</script>
通讯注册:
- 电子邮件:
测试
$(“#名称”).focus(函数(){
$(“#详细信息”).fadeIn();
});
$(“#名称”).focus(函数(){
$(“#详细信息”).stop().fadeIn();
}).blur(函数(){
$(“#详细信息”).stop().fadeOut();
});
您可以使用焦点,而不是单击文本框
$("#txtBoxID").focus(function(){
$("#yourdivid").show("slow");
});
如果你想有一个向下滑动的效果,那么你可以使用向下滑动
$("#yourdivid").slideDown("slow");
您可以使用焦点,而不是单击文本框
$("#txtBoxID").focus(function(){
$("#yourdivid").show("slow");
});
如果你想有一个向下滑动的效果,那么你可以使用向下滑动
$("#yourdivid").slideDown("slow");
您可以为此使用事件。如果您希望对几个元素使用类作为标记,并且需要对其他内容使用ID,请使用类作为标记。您可能还需要添加一个事件。假设标记:
<input type="text" id="name" class="info">
<div id="name_info" class="details">...</div>
这样做:
$(".info").focus(function() {
$(this.id + "_info").stop().fadeIn();
}).blur(function() {
$(this.id + "_info").stop().fadeOut();
});
该调用对于停止div上当前正在运行的任何动画非常有用,并且是由于不同事件而运行多个动画时的一个好习惯
因此,将此功能添加到任何输入元素:
- 给它任何你想要的ID李>
- 给它一类“信息”李>
- 创建一个
,ID为输入的ID,末尾带有“\u info”;及 - 给那个
一类“细节”
div.details { display: none; position: absolute; }
和Javascript:
$(".info").focus(function() {
var offset = $(this).offset();
var height = $(this).outerHeight();
$(this.id + "_info").attr({
top: offset.top + height + 5,
left: offset.left
}).stop().fadeIn();
}).blur(function() {
$(this.id + "_info").stop().fadeOut();
});
根据需要调整偏移量。您可以为此使用事件。如果您希望对几个元素使用类作为标记,并且需要对其他内容使用ID,请使用类作为标记。您可能还需要添加一个事件。假设标记:
<input type="text" id="name" class="info">
<div id="name_info" class="details">...</div>
这样做:
$(".info").focus(function() {
$(this.id + "_info").stop().fadeIn();
}).blur(function() {
$(this.id + "_info").stop().fadeOut();
});
该调用对于停止div上当前正在运行的任何动画非常有用,并且是由于不同事件而运行多个动画时的一个好习惯
因此,将此功能添加到任何输入元素:
- 给它任何你想要的ID李>
- 给它一类“信息”李>
- 创建一个
,ID为输入的ID,末尾带有“\u info”;及 - 给那个
一类“细节”
div.details { display: none; position: absolute; }
和Javascript:
$(".info").focus(function() {
var offset = $(this).offset();
var height = $(this).outerHeight();
$(this.id + "_info").attr({
top: offset.top + height + 5,
left: offset.left
}).stop().fadeIn();
}).blur(function() {
$(this.id + "_info").stop().fadeOut();
});
根据需要调整偏移量。嗯。我一定是做错了什么……我添加了我在问题中遇到的新代码。我可以在一个输入上有两个ID吗?是的,我可以看到在一个项目上有两个ID不起作用。有什么办法吗?一个元素不能有两个ID。为什么要这样放置?id用于表单的ajax发送。@Cletus。我好像没办法让它为我工作。我不确定我是否将代码放错了位置,或者问题是否是因为表单位于无序列表中?我把上面的代码,因为它现在是最好的,因为我可以理解我应该做的。嗯。我一定是做错了什么…我在问题中添加了新代码。我可以在一个输入上有两个ID吗?是的,我可以看到在一个项目上有两个ID不起作用。有什么办法吗?一个元素不能有两个ID。为什么要这样放置?id用于表单的ajax发送。@Cletus。我好像没办法让它为我工作。我不确定我是否将代码放错了位置,或者问题是否是因为表单位于无序列表中?我把上面的代码,因为它现在是最好的,因为我可以理解我应该做的。