Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.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 如何使用JQuery在不同的样式表之间切换?_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript 如何使用JQuery在不同的样式表之间切换?

Javascript 如何使用JQuery在不同的样式表之间切换?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我正在尝试使用JQuery根据显示的大小更改浏览器的大小,但是它目前似乎不起作用 HTML代码: <head> <link rel="stylesheet" type="text/css" href="SmallDesktopScreen.css"> <link id="newSize" rel="stylesheet" type="text/css" href="LargeScreen.css"> <

我正在尝试使用JQuery根据显示的大小更改浏览器的大小,但是它目前似乎不起作用

HTML代码:

   <head>
        <link rel="stylesheet" type="text/css" href="SmallDesktopScreen.css">
        <link id="newSize" rel="stylesheet" type="text/css" href="LargeScreen.css">
        <meta charset="UTF-8">
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
        <script>

        function adjustStyleSheet(width){
        width= parseInt(width);
        if ((width>=1352)&&(width<=1880)){
            $("#newSize").attr("href", "css/SmallDesktopScreen.css");
        }

        else if(width>1881){
            $("#newSize").attr("href", "css/LargeScreen.css");
        }
        }
        <!-- 1352 1881 -->

        $("document").ready(function(){
            $(function() {
                adjustStyleSheet($(this).width());
                $(window).resize(function() {
                adjustStyleSheet($(this).width());
                });
            });
        });

函数样式表(宽度){
宽度=parseInt(宽度);
如果((宽度>=1352)和&(宽度1881){
$(“#新闻大小”).attr(“href”,“css/LargeScreen.css”);
}
}
$(“文档”).ready(函数(){
$(函数(){
调整样式表($(this).width());
$(窗口)。调整大小(函数(){
调整样式表($(this).width());
});
});
});

可以使用jquery切换样式表

比如说

var stylesheets = ['style1.css','style2.css'];
var primary_sheet = 0;

if(primary_sheet === 0) {
  $('link').attr('href',stylesheets[0]);
else {
 $('link').attr('href',stylesheets[1]);
}

改变一些脚本就可以了

首先,您不能获取link元素并设置href(这最终不会在所有浏览器中都起作用),但您可以轻松创建一个

检查下面的脚本代码。这将起作用

function adjustStyleSheet(width){
    width= parseInt(width);
       var head  = document.getElementsByTagName('head')[0];
        var link  = document.createElement('link');
        link.id   = "";
        link.rel  = 'stylesheet';
        link.type = 'text/css';
        link.media = 'all';
                var linkHref = "css/SmallDesktopScreen.css";
    if ((width>=1352)&&(width<=1880)){
                linkHref = 'css/SmallDesktopScreen.css';
    }
    else if(width>=1881){
                linkHref = 'css/LargeScreen.css';
    }
        link.href = linkHref;
            head.appendChild(link);
    }
    <!-- 1352 1881 -->

    $("document").ready(function(){
        $(function() {
            adjustStyleSheet($(window).outerWidth());//OuterWidth gets the width of your original screen size not the window size alone.
            $(window).resize(function() {
                adjustStyleSheet($(window).outerWidth());
            });
        });
    });
功能调整样式表(宽度){
宽度=parseInt(宽度);
var head=document.getElementsByTagName('head')[0];
var link=document.createElement('link');
link.id=“”;
link.rel='stylesheet';
link.type='text/css';
link.media='all';
var linkHref=“css/SmallDesktopScreen.css”;
如果((宽度>=1352)和&(宽度=1881){
linkHref='css/LargeScreen.css';
}
link.href=linkHref;
头.子(链接);
}
$(“文档”).ready(函数(){
$(函数(){
adjustStyleSheet($(window).outerWidth());//outerWidth获取原始屏幕大小的宽度,而不仅仅是窗口大小。
$(窗口)。调整大小(函数(){
调整样式表($(窗口).outerWidth());
});
});
});

用Javascript或jQuery做事情是很好的。但是我会在CSS中支持@media querys作为响应类的工作,这实际上非常简单。

如果你要根据屏幕大小来更改CSS,不要使用JS。媒体查询在单个CSS文件中就可以了。我被要求在我正在做的一些课程中使用脚本,所以我不需要他的方法似乎很简单。如果他们教你使用基于JS的样式表切换制作响应性网站……你走错了方向。是的,我看过媒体查询,但有没有办法使用这种方法?