如何使用JQuery在不同的样式表之间切换
How to switch between different stylesheets using JQuery?
我正试图使用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());
});
});
});
可以使用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]);
}
更改一些脚本就可以了。
首先,你不能,获取链接元素并设置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());
});
});
});
用Javascript或jQuery做事情是很好的。但我会支持CSS中的@media查询,以实现响应式的工作,这实际上非常容易。
相关文章:
- 使用javascript单击同一按钮,在两种样式之间更改css值
- 在Mapbox.js中,如何在不同的地图样式之间切换
- 隐藏元素:Javascript属性和CSS样式之间的区别
- 在照片库中的两个元素之间切换样式会发生变化
- 旧的LeftNav菜单样式和Reactjs的可组合菜单样式之间的材质ui转换
- Html 画布:宽度/高度属性和宽度/高度样式之间的差异
- DOM “style” 属性与实际 CSS 样式之间的关系
- CSS 过渡:在“高度”样式属性的内联样式之间设置动画
- 可编辑内容更改字符之间的样式
- 如何使用jQuery在引号之间设置HTML文本的样式
- 在JavaScript中测试元素的样式属性和css值之间有区别吗
- 如何使用JQuery在不同的样式表之间切换
- 在jQuery提供的CSS样式之间切换
- 颜色盒和表单样式之间的冲突
- Javascript可以在一个元素的两种不同的CSS样式之间切换
- 如何设置括号和括号之间的文本的样式
- 循环css样式与setTimeout: "在眨眼之间"
- javascript和css之间的样式冲突
- 如何在两个flex样式的行之间添加一个元素,并使下面的行根据新元素的高度向下移动
- SVG 属性和样式之间是否存在性能差异