[英]Run script if screen size is more than X
如果屏幕尺寸大於1024px,我有一個代碼需要運行,但是它不起作用...這是怎么回事?
if($(window).width() >= 1024){
var targetOffset = $("#section--4").offset().top;
var $w = $(window).scroll(function() {
if ( $w.scrollTop() + 200 > targetOffset ) {
$("#logo").fadeIn(500);
$("#logo2").fadeOut('slow');
$("header").css({"overflow": "hidden"});
} else {
$("#logo2").fadeIn(2000)
$("#logo").fadeOut('fast');
$("header").css({"overflow": "visible"});
}
}
});
$(window).resize(function(){
if($(window).width() >= 1024){
var targetOffset = $("#section--4").offset().top;
var $w = $(window).scroll(function() {
if ( $w.scrollTop() + 200 > targetOffset ) {
$("#logo").fadeIn(500);
$("#logo2").fadeOut('slow');
$("header").css({"overflow": "hidden"});
} else {
$("#logo2").fadeIn(2000)
$("#logo").fadeOut('fast');
$("header").css({"overflow": "visible"});
}
});
}
});
沒有調整大小
if($(window).width() >= 1024){
var targetOffset = $("#section--4").offset().top;
var $w = $(window).scroll(function() {
if ( $w.scrollTop() + 200 > targetOffset ) {
$("#logo").fadeIn(500);
$("#logo2").fadeOut('slow');
$("header").css({"overflow": "hidden"});
} else {
$("#logo2").fadeIn(2000)
$("#logo").fadeOut('fast');
$("header").css({"overflow": "visible"});
}
});
}
你只需要這個
$(window).on('resize', handler )
這是一個簡單的例子。 單擊代碼底部的整頁鏈接,然后調整瀏覽器的大小,以查看當瀏覽器的寬度小於500時該框消失。
$(document).ready(function(){ $(window).on('resize', function(){ if($(window).width() >= 500){ var targetOffset = $("#section--4").offset().top; $(window).scroll(function() { $("#logo").text($(this).scrollTop()); if ( $(this).scrollTop() + 200 > targetOffset ) { $("#logo").fadeIn(500); $("#logo2").fadeOut('slow'); $("header").css({"overflow": "hidden"}); } else{ $("#logo2").fadeIn(500); $("#logo").fadeOut('slow'); $("header").css({"overflow": "visible"}); } }); } }); });
#logo{ width:60px; height:60px; background:pink; position:fixed; } #logo2{ width:60px; height:60px; background:yellow; position:fixed; } #section--4{ width:60px; height:60px; background:green; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <body> <div id="logo">logo</div><br /> <div id="logo2">logo2</div> <div id="section--4">section--4</div> <br /><br /><br /><br /><br /><br /><br /> <br /><br /><br /><br /><br /><br /><br /> <br /><br /><br /><br /><br /><br /><br /> <br /><br /><br /><br /><br /><br /><br /> <br /><br /><br /><br /><br /><br /><br /> <br /><br /><br /><br /><br /><br /><br /> <br /><br /><br /><br /><br /><br /><br /> <br /><br /><br /><br /><br /><br /><br /> <div></div> </body>
簡單的解決方案如下:
頁面加載后,使用$(document).ready
執行一段代碼。
將您已經在函數中的代碼包裝起來(假設我們為示例將函數命名為func
)。
請執行下列操作 :
$(document).ready(function(){
func();
$("window").on('resize', func);
});
這段代碼在頁面加載時執行func
,並將事件偵聽器附加到window
對象的resize事件,並在window
對象上觸發resize
事件時將調用func
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.