2013-04-08 2 views
3

У меня есть следующий код для добавления функции в зависимости от размера браузера, но как удалить эффекты этого плагина, если размер браузера изменен? (В настоящее время он работает только если страница загружается в конкретном размере, не если он изменен)jQuery: отключить и включить плагин на основе размера окна браузера?

$(document).ready(function(){ 
    $(window).resize(function() { 
     if ($(window).width() >= 420) { 
      // Enable the plugin to make the tab functionality... 
      $("#tabs").tabs(); 
     } 
     else { 
     // Code needed to completely disable the tab functionality?? 
     } 
    }); 
}); 

ответ

0

Я нормально создать сценарий с плагин, внутри DIV с определенной ID, поэтому, когда я бледный чтобы очистить, просто удалите ID, и SCRIPT пойдет с ним.

В вашем случае ..

$(document).ready(function(){ 
    $(window).resize(function() { 
     if ($(window).width() >= 420) { 
      // Enable the plugin to make the tab functionality... 
      var tempScript = '<div id="newTempId"><script type="text/javascript" src="../js/plugInScript.js"></script></div>'; 
      $('body').append(tempScript); // append the DIV with the PlugIn script inside 
      $("#tabs").tabs(); 
     } 
     else { 
     // Code needed to completely disable the tab functionality?? 
     $("#tabs").tabs({ disabled: [ 0, 2 ] }); // see API info at http://api.jqueryui.com/tabs/#option-disabled 
     $('newTempId').remove(); // Remove the DIV that include the script 
     } 
    }); 
}); 

ИЛИ/И ... включают в себя адаптивный CSS-файл, в зависимости от размера окна.

<link href="../css/responsive_style.css" rel="stylesheet" type="text/css" media="screen and (min-width:419px)" /> 

Надеется, что это помогает, удачам

+0

Привет, Так что с вашим решением, делает это скрыть содержимое с вкладками или просто удалить скрипт? - Поскольку мне все еще нужен контент, отображаемый при удалении сценария. – CodeyMonkey

+0

Удалит все внутри '# newTempId' div из' DOM', в моем примере, только скрипт и его функциональность. (Если вы не помещаете/не перемещаете содержимое вкладки внутри него). Если вы хотите дать нам рабочий пример, мы можем попытаться приспособиться к вашим потребностям. – gmo

0

Если вы используете вкладки плагина JQuery UI (я так думаю):

var $win = $(window), 
    $tabs = $("#tabs"); 

$win.resize(function() { 
    if ($win.width() >= 420 && !$tabs.is('.tabbed') { 
     // Enable the plugin to make the tab functionality... 
     $tabs.tabs().addClass('tabbed').removeClass('destroyed'); 
    } else if(!$tabs.is('.destroyed')) { 
     // remove plugin functionality and add class 
     // so we don't try to execute this on every resize 
     $tabs.tabs('destroy').addClass('destroyed').removeClass('tabbed'); 
    } 
}); 
+0

Привет, я не использую jQuery UI, я боюсь :(- Я не думаю, что у вас есть общее решение из интереса? Сообщите мне, если вам что-нибудь понадобится от меня :) - Я на самом деле использую это - http://os.alfajango.com/easytabs/ – CodeyMonkey

+0

Но разве этот плагин не инициализирован с '.easytabs()' not '.tabs()'? Не удалось найти демонстрацию на странице easytabs, которая вызывает '.tabs()' ... – Simon

Смежные вопросы