你如何停止我的代码间隔:
function timeres(){
if((screen.width!= 1280)&&(screen.height!= 1024)) { 文件撰写 }
}
的setInterval( 'timeres()',1);
当我更改分辨率时,代码工作得很好而没有setinterval我必须刷新页面以使css生效但是我希望它在用户改变他/她的分辨率后自动更改所以我想也许setinterval可以工作< / p>
轻松编写一个菜鸟:D
答案 0 :(得分:0)
对setInterval
的调用会返回对您请求的超时的引用。您可以使用clearTimeout
取消此内容。
function timeres() {
if ((screen.width!=1280) && (screen.height!=1024)) {
document.write("<link rel='stylesheet' type='text/css'href='css/style1024.css' />");
}
}
var timeoutReference = setInterval('timeres()',1);
clearInterval(timeoutReference);
答案 1 :(得分:0)
我认为对您有所帮助的是熟悉事件,尤其是onresize。所以你不需要在循环中进行延时检查。
window.onresize = function() {
if ((screen.width!=1280) && (screen.height!=1024)) {
document.write("<link rel='stylesheet' type='text/css'href='css/style1024.css' />");
}
};
答案 2 :(得分:0)
setInterval
的结果存储到引用之后,clearInterval
就是您想要的。 e.g。
// declare the interval, and make it a variable for reference
var theInterval = setInterval(foo,1000);
// then to clear it, clear that reference
clearInterval(theInterval);
此外,虽然我知道它有点混乱/不一致,但您可能希望查看基于屏幕大小的规则的@media CSS扩展。
@media (max-width: 1024px) {
div {
width: 700px;
}
}