javascript - 定义的变量 'within function brackets'在JS中不起作用

标签 javascript html css

我在 html 文件中有一些 div 元素:

<div id="pizza1" onclick="galery('pizza1')"></div>
<div id="pizza2" onclick="galery('pizza2')"></div>

我在外部 .js 文件中定义了函数,但它不起作用(这意味着它没有执行任何操作)。

function galery(var pizza) {
  document.getElementById(pizza).style.left = "10px;";
  document.getElementById(pizza).style.right = "10px;";
  document.getElementById(pizza).style.top = "10px;";
  document.getElementById(pizza).style.bottom = "10px;";
}

是否可以在 js 中做类似的事情?

最佳答案

检查您的控制台,您可以看到错误:

Uncaught SyntaxError: Unexpected token var

因此,您只需从函数参数中删除 var 即可:

function galery(var pizza) {

应该是:

function galery(pizza) {

注意:位置更改为相对以查看更改。

希望这有帮助。

function galery(pizza) {
  var _this = document.getElementById(pizza);

  _this.style.left = "10px";
  _this.style.right = "10px";
  _this.style.top = "10px";
  _this.style.bottom = "10px";
  _this.style.position = "relative";
}
<div id="pizza1" onclick="galery('pizza1')">pizza 1</div>
<div id="pizza2" onclick="galery('pizza2')">pizza 2</div>

建议的解决方案使用addEventListener:

document.getElementById('pizza1').addEventListener("click", galery, false);
document.getElementById('pizza2').addEventListener("click", galery, false);

function galery() {
  this.style.left = "10px";
  this.style.right = "10px";
  this.style.top = "10px";
  this.style.bottom = "10px";
  this.style.position = "relative";
}
<div id="pizza1">pizza 1</div>
<div id="pizza2">pizza 2</div>

关于javascript - 定义的变量 'within function brackets'在JS中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41394713/

相关文章:

JavaScript drawImage 在某些计算机上错误地裁剪了源 Canvas 图像

c# - 根据 XSLT 将 HTML 转换为 XML

javascript - 如何更改 css 中的 td、tr 值?

javascript - 如何在 React Native 中将货币图标放在 TextInput 值的前面?

css - 在 div 上将位置设置为 relative 是否会使它脱离文档流?

html - 为什么页面底部的页脚空白

javascript - jQuery "Meet the team"效果

javascript - 将所有 href 值更改为数组值理论与实践

javascript - 在 Express js 路由中创建过滤器

javascript - 样式化 jQuery 验证错误消息