javascript - 使输入框从左或右滑入

标签 javascript jquery html css animation

这是我的代码:https://jsfiddle.net/hsf4yo5t/

HTML代码:

<input type="button" id="my-button" value="Show text input">
<input type="text" id="my-input">

CSS 代码:

#my-input {
  visibility: hidden;
}

Javascript 代码:

document.getElementById('my-button').onclick = function() {
    document.getElementById('my-input').style.visibility = 'visible';
}

当我点击按钮时,它会显示。但是我怎样才能使用 javascript 或 jquery 让它滑出呢?

最佳答案

如果您不介意将输入包装在一个元素中,您可以转换 translateX() 以使其滑出。

document.getElementById('my-button').onclick = function() {
	document.getElementById('my-input').classList.toggle('show');
}
span {
  overflow: hidden;
  display: inline-block;
  vertical-align: middle;
}

#my-input {
  transform: translateX(-100%);
  opacity: 0;
  transition: opacity .25s, transform .25s;
}

#my-input.show {
  transform: translateX(0);
  opacity: 1;
}
<input type="button" id="my-button" value="Show text input">
<span class="span"><input type="text" id="my-input"></span>

您也可以转换 scaleX() 而无需环绕输入的元素,但它实际上并没有像从左侧收缩/扩展那样滑动。

document.getElementById('my-button').onclick = function() {
	document.getElementById('my-input').classList.toggle('show');
}
#my-input {
  transform: scaleX(0);
  opacity: 0;
  transition: opacity .25s, transform .25s;
  transform-origin: 0 0;
}

#my-input.show {
  transform: scaleX(1);
  opacity: 1;
}
<input type="button" id="my-button" value="Show text input">
<input type="text" id="my-input">

关于javascript - 使输入框从左或右滑入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43858436/

相关文章:

javascript - 如何使用 Javascript/AJAX 按特定顺序加载多个文件的内容

javascript - 附加项目的 JQuery 切换功能

javascript - Mobile Safari HTML5 WebSQL SQLTransaction 抛出 SQLError code=1 消息 ='not an error' ,事务失败

javascript - 为什么我的动画会做我不期望的事情?

html - 使用 CSS 放大 div 并在单击时删除同一父级下的其他 div

javascript - 单击后无法重置间隔

javascript - 将 ":;' ,./<>?,./asdaA12 动态存储在 javascript 变量中(意外标记错误)

javascript - 如何延迟某个 block 在 HTML 中变得可见?

javascript - 到达正确的 ul

jquery - header 未通过 ajax 请求发送