如果我的屏幕宽度小于960像素,我怎么能让jquery做一些事情我想要触发宽度() - 140,如果屏幕大于960px它应该改变宽度() - 340.如果有任何其他解决方案实现这总是受欢迎的。
function resize() {
if ($(window).width() < 960) {
$(".test").css({
width: $(window).width() - 140,
height: $(window).height() - 140,
});
}
else () {
$(".test").css({
width: $(window).width() - 340,
height: $(window).height() - 40,
});
}
resize();
$(window).resize(function(){ resize(); });
.test {
background: green;
padding: 20px;
}
<div class="test"></div>
答案 0 :(得分:2)
如果你真的需要使用jQuery来定位某些分辨率,那么应该这样做:
<强> Updated JsFiddle 强>
var mq = window.matchMedia("(min-width:960px)");
mq.addListener(WidthChange);
WidthChange(mq);
function WidthChange(mq) {
if (mq.matches) {
$(".test").css({'width':'140px', 'height':'140px'});
} else {
$(".test").css({'width':'340px' , 'height':'40px'});
}
}
.test {
background: green;
padding:10px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="test"></div>
否则我建议使用更快的CSS媒体查询:
.test {
background: green;
padding: 20px;
width: 340px;
height:40px;
}
@media screen and (max-width: 960px) {
.test {
width: 140px;
height: 140px;
}
}
<div class="test"></div>
答案 1 :(得分:0)
如果你的目标是为不同的窗口宽度做出不同的填充/边距,你应该使用@media代替jssery / javascript代码。
答案 2 :(得分:0)
Cou可以使用纯css和media-queries执行此操作:
.test {
width: calc( 100% - 140px );
height: calc( 100% - 140px );
background: green;
padding: 20px;
}
@media(min-width:960px) {
.test {
width: calc( 100% - 340px );
height: calc( 100% - 340px )
}
}
&#13;
<div class="test"></div>
&#13;
答案 3 :(得分:0)
您可以按如下方式简化代码:
function resize()
{
var width = $(window).width();
var offset_w = width + (width > 960 : 340 : 140);
var offset_h = $(window).height() + (width > 960 : 140 : 40);
$(".test").css({
width: offset_w,
height: offset_h,
});
}