-1
我想如果一個瀏覽器寬度超過640像素加載外部JS文件,並且如果瀏覽器的寬度低於640像素除去同一JS文件。動態加載和除去外部JS
這裏是我到目前爲止有:
function setSize() {
var state = $(window).width() < 640;
if (state != currentState) {
currentState = state;
if (state) {
$.load("js/test.js");
} else {
$.remove("js/test.js");;
}
}
}
setSize();
$(window).on('resize', setSize);
我知道該功能的作品,但我不知道如何加載和刪除外部JS。
感謝
UPDATE
var currentState = false;
function setSize() {
var state = $(window).width() < 640;
if (state != currentState) {
currentState = state;
if (state) {
var elem = document.getElementById('mySwipe');
$(".pagination li").eq(0).addClass("selected");
window.mySwipe = Swipe(elem, {
auto: 3000,
continuous: true,
// disableScroll: true,
// stopPropagation: true,
// callback: function(index, element) {},
callback: function(index, element) {
var $Elements = $(".pagination li").removeClass("selected");
$Elements.eq(index).addClass("selected");
},
// transitionEnd: function(index, element) {}
});
var $navLi = $('#nav li');
$navLi.on ('click', function() {
window.mySwipe.slide($(this).index(), 200);
$(this).siblings().removeClass('selected');
$(this).addClass('selected');
});
$('#mySwipePrev').on('click', function() {
mySwipe.prev();
$navLi.removeClass('selected');
$navLi.eq(mySwipe.getPos()).addClass('selected');
});
$('#mySwipeNext').on('click', function() {
mySwipe.next();
$navLi.removeClass('selected');
$navLi.eq(mySwipe.getPos()).addClass('selected');
});
} else {
}
}
}
setSize();
$(window).on('resize', setSize);
我不認爲你可以叫去除,製成這種方法來去除DOM元素 - 見http://api.jquery.com/remove/我不認爲有什麼辦法「刪除」一個當頁面被加載後執行。你想要做的是編寫一些邏輯來取消test.js的功能。 – 2014-08-29 13:06:30
你不能輕易刪除外部的JS,但你可以有條件地包括一個或另一個。 – MightyPork 2014-08-29 13:07:40
@AlexanderKludt我正在嘗試這樣做,如果瀏覽器低於640px添加一個腳本,我可以得到這個工作,但是當我改變寬度超過640px,那麼腳本保持,我需要刷新。我會更新帖子給你看我的代碼 – Dan 2014-08-29 13:09:52