2015-11-10 43 views
1

我有此代碼觸發的jquery只有某個屏幕最小寬度

jQuery(document).ready(function($) { 
    $(window).scroll(function() {  
     var scroll = $(window).scrollTop(); 

     if (scroll >= 100) { 
      $("#inslist").addClass("fadeoutnow"); 
     } 

     if (scroll <= 100) { 
      $("#inslist").removeClass("fadeoutnow"); 
     } 

     if (scroll >= 315) { 
      $(".page-id-556 .vc_col-sm-4").addClass("floatcontact"); 
     } 

     if (scroll <= 315) { 
      $(".page-id-556 .vc_col-sm-4").removeClass("floatcontact"); 
     } 
    }); 
}); 

我希望它僅在某些屏幕寬度工作,基本上最小寬度 我曾嘗試添加一行在不同以下部分代碼,但它不起作用。我不是JavaScript專家,我現在正在學習。 和我的PHP概念在這裏不起作用。

if ($(window).width() >= 1024) { 
} 

我已嘗試添加

if (scroll >= 315) & ((window).width() >= 1024){ { 
$(".page-id-556 .vc_col-sm-4").addClass("floatcontact"); 

}

+0

首先,你的腳本工作(不考慮設備的寬度)? – KCarnaille

回答

1

你需要去檢查resize()事件的窗口寬度,否則它被加載時的佈局將只反映寬度。試試這個:

jQuery(document).ready(function($) { 
    $(window).on('scroll resize', function() { 
     var $win = $(window); 
     var scroll = $win.scrollTop(); 
     var winWidth = $win.width(); 

     if (winWidth <= 1024) 
      return; 

     $("#inslist").toggleClass("fadeoutnow", scroll >= 100); 
     $(".page-id-556 .vc_col-sm-4").toggleClass("floatcontact", scroll >= 315); 
    }); 
}); 

還要注意簡化使用toggleClass()基於該scroll位置布爾參數。

+0

它工作完美。我現在將研究代碼,以便能夠在其他情況下使用此解決方案。如果你能指點更多的參考網站/閱讀材料,我會非常感激。謝謝。今天我學到了很多。 – GauchoCode

+0

很高興幫助。如果你指的是jQuery,那麼文檔是最好的參考:http://api.jquery.com。如果你的意思是JS本身,請嘗試MDN:https://developer.mozilla.org/en-US/docs/Web/JavaScript –

0

你可以你的代碼綁定到窗口的resize事件:

function activate() { 
      var scroll = $(window).scrollTop(); 

      if (scroll >= 100) { 
       $("#inslist").addClass("fadeoutnow"); 
      } 

      if (scroll <= 100) { 
       $("#inslist").removeClass("fadeoutnow"); 
      } 

      if (scroll >= 315) { 
       $(".page-id-556 .vc_col-sm-4").addClass("floatcontact"); 
      } 

      if (scroll <= 315) { 
       $(".page-id-556 .vc_col-sm-4").removeClass("floatcontact"); 
      } 
    } 


jQuery(document).ready(function($) { 
    $(window).on('resize scroll', function(){ 
     if ($(window).width() >= 1024) 
     activate() 
    } 
}); 
+0

如果頁面開始> 1024,但調整大小會減少會發生什麼? ;) –

+0

然後你需要寫一個'禁用'功能;) – EoiFirst

相關問題