我在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中做类似的事情吗?
答案 0 :(得分:3)
检查您的控制台,您可以看到错误:
未捕获的SyntaxError:意外的标记var
所以你只需从函数参数中删除var
:
function galery(var pizza) {
应该是:
function galery(pizza) {
注意:将position
更改为relative
以查看更改。
希望这有帮助。
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>
建议的解决方案using 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>
答案 1 :(得分:0)
您也可以使用以下代码执行此操作:
<div id="pizza1" onclick="galery(this)"></div>
<div id="pizza2" onclick="galery(this)"></div>
function galery(ctl) {
ctl.style.left = "10px;";
ctl.style.right = "10px;";
ctl.style.top = "10px;";
ctl.style.bottom = "10px;";
}