Javascript函数在某一行之后停止
Javascript function is stopping after a certain line
我正在尝试创建一个javascript函数,将图像裁剪并居中到1000px。要做到这一点,我取宽度,减去1000,除以2,再乘以-1。然后我取这个值并将其分配给左边距和右边距。我已将其设置为在页面加载时运行。出于某种原因,它没有执行我的第一行代码。看看下面。(调试警报用于调试目的)
Javascript
function crop()
{
alert("debug")
width = document.getElementById(slide).width
alert("debug")
width = -1((width - 1000)/2)
alert("debug")
document.getElementById(slide).setAttribute("style","margin-left" + width + "px")
alert("debug")
document.getElementById(slide).setAttribute("style","margin-right" + width + "px")
alert("debug")
}
这就是我试图让它应用所有这些的元素。
元素
<div id="mySlides" style="width:1000px; overflow:hidden;">
<img src="img/1.jpg" onclick="slideshow()" id="slide" />
</div>
正如您所看到的,它只显示第一个调试警报,之后不显示任何其他警报。有人能解释一下为什么它忽略了代码的其余部分吗?
slide
是对名为slide
的变量的引用。您可能想要"slide"
(字符串),因为您的img
元素具有id="slide"
。
您应该花一些时间熟悉浏览器的调试工具(alert()
是一种糟糕的调试方式)。它会指出。。。
ReferenceError:幻灯片未定义
此处字符串周围缺少分隔符:
width = document.getElementById("slide").width;
这里缺少乘法运算符:
width = -1 * ((width - 1000)/2);
样式声明中缺少字符串分隔符和冒号,还必须将样式放在一起,否则第二个样式将覆盖第一个:
document.getElementById("slide").setAttribute("style","margin-left:" + width + "px;margin-right:" + width + "px");
相关文章:
- electronic BrowserWindow的最小高度和宽度在hide()show()方法之后不起作用
- 在chrome.tabs.onCreated之后加载HTML页面
- 在Jquery detachment()和appendTo()之后定位元素
- AngularJS:ng之后,重复$scope值未按预期更新
- 拆分文本以每隔n个字符添加一行新行,并注意空格
- 为什么元素的宽度在页面加载之后和那一刻之后不同
- 动态插入的表:JQuery未检测到最后一行
- 没有在Angular应用程序中定义firebase(在firebase迁移之后)
- 如何使段落在从包装标题的最后一行开始的浮动标题之后流动
- Node.js:在文本文件中的特定行之后插入一行
- 在更新数据库中的一行之后,再次运行php行
- Javascript函数在某一行之后停止
- 在表的每行之后添加一行
- 如何仅在第一行代码执行之后执行下一行代码
- 附加到元素的脚本标记会在.append()之后的下一行之前运行吗?
- 如何在表的最后一行之后添加行
- JavaScript For循环在代码的某一行之后不起作用
- 在单击add函数的位置之后添加另一行
- 使用jquery在特定行之后添加一行,并使用滑动效果
- 获取一行中当前选择元素之后的所有选择