2016-12-10 8 views
-1

Я работаю с https://github.com/alexanderholman/Respond, чтобы попытаться использовать .addClass, чтобы добавить класс в div при изменении размера окна браузера и контрольных точек Bootstrap.Функция jQuery .on() с Respond.js

Fiddle: https://jsfiddle.net/esujd377/14/

Основное использование от GitHub это:

var onFunctions = { 
     on: { 
      is: { 
       xs: function(){console.log('is xs')}, 
       sm: function(){console.log('is sm')}, 
       md: function(){console.log('is md')}, 
       lg: function(){console.log('is lg')} 
      }, 
      was: { 
       xs: function(){console.log('was xs')}, 
       sm: function(){console.log('was sm')}, 
       md: function(){console.log('was md')}, 
       lg: function(){console.log('was lg')} 
      } 
     } 
    }; 
    $(document).ready(
     function() { 
      $.respond({functions:onFunctions}); 
     } 
    ); 

То, что я пытаюсь это, но я не получаю никаких изменений в DIV и нет errrors в консоли. Что я делаю не так?

var onFunctions = { 
      on: { 
       is: { 
        xs: function(){console.log('is xs')}, 
        sm: function(){console.log('is sm')}, 
        md: function(){ jQuery("div").addClass("whiteclass"); }, 
        lg: function(){console.log('is lg')} 
       }, 
       was: { 
        xs: function(){console.log('was xs')}, 
        sm: function(){console.log('was sm')}, 
        md: function(){ jQuery("div").addClass("whiteclass");}, 

        lg: function(){console.log('was lg')} 
       } 
      } 
     }; 
     $(document).ready(
       function() { 
        $.respond({functions:onFunctions}); 
       } 
     ); 

HTML:

<div class ="div">div</div> 

CSS:

.div {color:red;} 
.whiteclass {color:#fff;} 

ответ

0

Ваша проблема заключается в том, как выбрать элемент, имя класса в JQuery.

Изменение от:

jQuery("div") 

To:

jQuery(".div") 

Для получения более подробной информации вы можете посмотреть на Selecting by Class

Сниппет есть (обновлено jsfiddle):

function toggleDivs(a, b) { 
 
    var className = 'div' + a.toUpperCase() + b.toUpperCase(); 
 
    var allClasses = ['divISXS', 'divWASXS', 'divISSM', 'divWASSM', 'divISMD', 'divWASMD', 'divISLG', 'divWASLG']; 
 

 
    delete allClasses[allClasses.indexOf(className)]; 
 
    jQuery(".adiv") 
 
    .toggleClass(className, !$(this).hasClass(className)) 
 
    .toggleClass(allClasses.join(' '), false); 
 
    console.log(a + ' ' + b); 
 
} 
 

 
var onFunctions = { 
 
    on: { 
 
    is: { 
 
     xs: function() { 
 
     toggleDivs('is', 'xs'); 
 
     }, 
 
     sm: function() { 
 
     toggleDivs('is', 'sm'); 
 
     }, 
 
     md: function() { 
 
     toggleDivs('is', 'md'); 
 
     }, 
 
     lg: function() { 
 
     toggleDivs('is', 'lg'); 
 
     } 
 
    }, 
 
    was: { 
 
     xs: function() { 
 
     toggleDivs('was', 'xs'); 
 
     }, 
 
     sm: function() { 
 
     toggleDivs('was', 'sm'); 
 
     }, 
 
     md: function() { 
 
     toggleDivs('was', 'md'); 
 
     }, 
 
     lg: function() { 
 
     toggleDivs('was', 'lg'); 
 
     } 
 
    } 
 
    } 
 
}; 
 
$(document).ready(
 
    function() { 
 
    $.respond({ 
 
     functions: onFunctions 
 
    }); 
 
    } 
 
);
.divISXS { 
 
    color:red; 
 
} 
 
.divWASXS { 
 
    color:darkred; 
 
} 
 
.divISSM { 
 
    color:blue; 
 
} 
 
.divWASSM { 
 
    color:blueviolet; 
 
} 
 
.divISMD { 
 
    color:yellow; 
 
} 
 
.divWASMD { 
 
    color:yellowgreen; 
 
} 
 
.divISLG { 
 
    color:transparent; 
 
} 
 
.divWASLG { 
 
    color:inherit; 
 
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> 
 
<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script> 
 
<script src="https://rawgit.com/alexanderholman/Respond/master/src/respond.min.js"></script> 
 

 

 
<div class="container"> 
 
    <div class="row"> 
 
     <div class="col-md-1"></div> 
 
     <div class="col-md-1"><div class="adiv">a lonely little div that needs to turn white</div></div> 
 
     <div class="col-md-1"></div> 
 
    </div> 
 
</div>

+0

Спасибо, я включил jQuery на свой локальный хост, но я, возможно, забыл включить его в скрипку. Но то, что я хочу, это addClass, поэтому текст меняет цвет; Я не забочусь о консольных сообщениях, я использовал этот фрагмент в качестве базы, чтобы проверить, как добавить класс. И я не вижу, что это работает в скрипте, фрагменте или моей локальной копии кода. – BlueDogRanch

+0

@BlueDogRanch Ответ и скрипка обновлены. Дайте мне знать, если у вас будут другие открытые вопросы по этому вопросу. спасибо – gaetanoM

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