我正在尝试检查视口大小,然后根据视口大小是否介于768px - 992px之间,使用if和else语句应用不同的样式。但是,到目前为止我所做的并不起作用。
这是我的代码......
$(document).ready(function() {
var windowSize = $(window).width();
function checkwindowSize() {
if(windowSize > 768 && windowSize < 992) {
$('#show-menu').css('visibility', 'hidden', function() {
$('#slide-menu-container').css('visibility', 'visible');
});
}
else {
$('#show-menu').css('visibility', 'visible', function() {
$('#slide-menu-container').css('visibility', 'hidden');
});
}
});
});
谢谢!
答案 0 :(得分:2)
为什么不使用css?像:
@media (min-width: 768px) and (max-width: 992px) {
#showmenu{
}
}
@media (min-width: 993px) {
#showmenu{
}
}
@media (max-width: 767px) {
#showmenu{
}
}
答案 1 :(得分:1)
试试这个。
在checkwindowSize函数中定义windowSize变量。
@media查询首选javascript。
function checkwindowSize() {
var windowSize = $(window).width();
if(windowSize > 768 && windowSize < 992) {
$('#show-menu').css('visibility', 'hidden', function() {
$('#slide-menu-container').css('visibility', 'visible');
});
}
else {
$('#show-menu').css('visibility', 'visible', function() {
$('#slide-menu-container').css('visibility', 'hidden');
});
}
}
checkwindowSize();
$(window).resize(function(){checkwindowSize()});
答案 2 :(得分:0)
FrédéricHamidi说,CSS媒体查询是最好的方法。
要回答您的问题,请在代码示例中调用checkwindowSize()函数。 此外,为了改进您的代码,您可以在每次使用时调整浏览器大小时调用您的函数 “调整大小”事件。 http://api.jquery.com/resize/
答案 3 :(得分:0)
以下是您仍然希望将Jquery用于此目的Jsfiddle
<强> JS 强>
$( document ).ready(function() {
if($( window ).width() <= 500)
{
$( ".smallerSize" ).css('display','block');
}
else
{
$( ".biggerSize" ).css('display','block');
}
});
$( window ).resize(function() {
if ($( window ).width() <= 500)
{
$( ".biggerSize" ).css('display','none');
$( ".smallerSize" ).css('display','block');
}
else
{
$( ".smallerSize" ).css('display','none');
$( ".biggerSize" ).css('display','block');
}
});
<强> CSS 强>
.smallerSize
{
display:none;
}
.biggerSize
{
display:none;
}
HTML
<div class="smallerSize">
<span>Small Size</span>
</div>
<div class="biggerSize">
<span>Bigger Size</span>
</div>
这里有两个条件,第一个是加载页面的时候,第二个条件是浏览器大小的变化。你可以看到这个方法的演示