javascript - 将较长的 javascript 元素代码转换为较小的代码

标签 javascript

我一直在寻找这个(并自己尝试),但到目前为止还无法使其发挥作用。

我有以下内容,onClick 会触发切换功能:

function toogle(){
    document.getElementById('id1').style.top = (document.getElementById('id1').style.top != '-130px' ? '-130px' : '0px')}

它按我想要的方式工作,但我也想让它短一点,我尝试这样做

var smalltag = document.getElementById('id1').style.top;
smalltag  = (smalltag  != '-130px' ? '-130px' : '0px')

or

var smalltag = "document.getElementById('id1').style.top";
smalltag  = (smalltag  != '-130px' ? '-130px' : '0px')

但没有任何效果,我怎样才能让它发挥作用?还想要一个简短的解释,以便我可以更好地理解它(如果可能的话)。

忘了说,我无意使用任何 javascript 包,我正在尽我所能地学习 javascript,使用此类包将是一个糟糕的方法(意味着没有 jquery、mootools 等) .

感谢您的关注!

最佳答案

您可以这样做以避免通过 id 多次获取元素

var element = document.getElementById('id1');
element.style.top = (element.style.top != '-130px') ? '-130px' : '0px';

关于javascript - 将较长的 javascript 元素代码转换为较小的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13879643/

相关文章:

javascript - 取消 图片未在 uploadify 中显示

javascript - AngularJS 未定义 Controller 使用 require

javascript - 在 Billboard.js 中对齐同一图表上的多个 y 轴

javascript - '--project' 在 webpack 命令行界面中意味着什么?

javascript - Vue.JS 嵌套 v-for 抛出 null/未定义错误

javascript - 无法让 Angular 路由工作

javascript - AngularJS 忽略监视对象中的键或覆盖 $watch 监听器

javascript - react 0.14 : plain object replacement

javascript - 如何使用此 JQuery 代码在单击重置按钮时清除输入字段的内容?

javascript - 如何用 dom 加载的 JavaScript 替换页面上的所有空 <img src ="">?