先上代码: //我运行的时候会取消掉注释的
08work
百度过后说是浏览器的加载顺序,然后尝试了window.onload = function(){} $(document).ready(function){}
结果没什么用..
只有在将js放在body后才有用(主要是 img 后面,在button前面没关系)。
问:到底怎么做才可以让它在head中有效果... window.onload这个为什么会没效果(因为大家都说加这个就可以了)
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
作用域的问题,另外说一句你这写法很有问题
注意通过属性绑定事件的问题:
window.onload是事件在页面元素渲染完毕后的回调zoomIn和zoomOut是在window.onload中定义的函数在渲染
button时同时定义了onclick属性,这时zoomIn和zoomOut还没有定义,导致调用报错,按钮失效。按你的需求,解决方案是在
window.onload之前定义zoomIn和zoomOut。也就是将其放在window.onload外面。这是因为浏览器加载html页面,是从上到下一行一行加载渲染的。在load的时候,js在前面,outInPic这个id元素还没有,所以放head里时imgElement是为null的
把zoomIn和zoomOut两个函数放window.onload函数外,imgElement变量定义成全局
你把
zoomIn()和zoomOut()定义在window.onload()里面的话,他们是局部函数,全局访问不到,包括button元素的onclick事件处理器属性也无法访问。如果要把它放在head里面的话一个可能可以的办法是