Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/91.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何重置使用javascript更改的样式_Javascript_Html_Css_Responsive Design_Responsive - Fatal编程技术网

如何重置使用javascript更改的样式

如何重置使用javascript更改的样式,javascript,html,css,responsive-design,responsive,Javascript,Html,Css,Responsive Design,Responsive,我正在尝试使用HTML5、CSS3和JavaScript制作一个完整的RWD网页 我在CSS样式表文件中使用了@media来将的宽度设置为0;和隐藏溢出,在小型设备中。我添加了一个按钮,调用java脚本来最小化文章和最大化旁白菜单,以及另一个按钮来最小化旁白并返回文章 调用以下代码: function openaside() { document.getElementById("article").style.width = "0"; document.getElementByI

我正在尝试使用HTML5、CSS3和JavaScript制作一个完整的RWD网页

我在CSS样式表文件中使用了@media来将
的宽度设置为0;和隐藏溢出,在小型设备中。我添加了一个按钮,调用java脚本来最小化
文章
和最大化
旁白
菜单,以及另一个按钮来最小化
旁白
并返回
文章

调用以下代码:

function openaside() {
    document.getElementById("article").style.width = "0";
    document.getElementById("aside").style.width = "100%";
    document.getElementById("showasidebtn").style.width = "0";
    document.getElementById("hideasidebtn").style.width = "25pX";
}
function closeaside() {
    document.getElementById("article").style.width = "100%";
    document.getElementById("aside").style.width = "0";
    document.getElementById("showasidebtn").style.width = "25px";
    document.getElementById("hideasidebtn").style.width = "0";    
}
我的页面正确响应屏幕大小,我的脚本工作正常。但是,当我使用这些脚本更改样式,然后更改屏幕大小时,我的
文章
旁白
宽度在刷新页面之前不会动态更改

我添加了以下JavaScript代码以在调整屏幕大小时刷新页面:

window.addEventListener("resize", onresize);
function onresize(){
   location.reload(false)
}

谢谢每一个我找到的方法,而不是

function onresize(){
   location.reload(false)
}
我使用:

function onresize(){
    document.getElementById("article").style.width = "";
    document.getElementById("aside").style.width = "";
    document.getElementById("showasidebtn").style.width = "";
    document.getElementById("hideasidebtn").style.width = "";
}

但是,当屏幕在手机中移动时(例如滚动)。所以现在手机用户应该先滚动然后打开侧边菜单。你能帮我找到更好的方法吗?当屏幕宽度超过一定值时,有没有办法调用脚本?

我觉得在java脚本中,屏幕大小没有独立的事件监听器。但我意识到我们可以得到屏幕大小,所以我使用以下代码:

function onresize() {
    window.addEventListener("resize", onresize);
    var viewportwidth;

    // the more standards compliant browsers (mozilla/netscape/opera/IE7) use window.innerWidth and window.innerHeight
    if (typeof window.innerWidth != 'undefined') {
        viewportwidth = window.innerWidth
    }
    //then I checked size to reset if nesecery
    if (viewportwidth > 600) {
         document.getElementById("article").style.width = "";
         document.getElementById("aside").style.width = "";
         document.getElementById("showasidebtn").style.width = "";
         document.getElementById("hideasidebtn").style.width = "";
    }
JAVA脚本非常棒。
谢谢大家。

提供一个可能的切换类副本将非常简单。删除onresize侦听器并尝试
.width=“calc(100%)”
等。当屏幕大小更改时,将100%重新计算。您可以在www.farshidete.ir上看到它