$(janela).bind ("carga", Função () {} evento
<!--- Make main div's same height -->
<script type="text/javascript">
$(window).bind("load", function() {
setDivHeight() {
var left = $('#primary');
var right = $('#secondary');
var maxHeight = Math.max(left.height(), right.height());
left.height(maxHeight);
right.height(maxHeight);
}
});
</script>
No entanto, quando tento executá-lo, recebo esta mensagem no meu console:
Uncaught TypeError: Property '$' of object [object Object] is not a function
1 answers
Parece que você não tem jQuery incluído na página acima desse código, ou você faz, mas algo assumiu o símbolo $
.
Certifique-se de que o jQuery é carregado antes do Código, assim (este é apenas um link que você pode usar):
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
E / ou se você tem isso, mas algo mais está usando o símbolo $
, você pode fazer isso com o seu código:
(function($) {
$(window).bind("load", function() {
// v----- Side note: This looks like a syntax error
setDivHeight() {
var left = $('#primary');
var right = $('#secondary');
var maxHeight = Math.max(left.height(), right.height());
left.height(maxHeight);
right.height(maxHeight);
}
});
})(jQuery);
Que usa o símbolo jQuery
, passando-o para uma função como argumento $
. Mesmo que $
seja alguma coisa caso contrário fora essa função, dentro ele, ele será jQuery
.
Nota 1: o seu código contém um erro de sintaxe. Talvez quisesse dizer:
(function($) {
$(window).bind("load", function() {
var left = $('#primary');
var right = $('#secondary');
var maxHeight = Math.max(left.height(), right.height());
left.height(maxHeight);
right.height(maxHeight);
});
})(jQuery);
Nota lateral 2: o evento da janela load
acontece muito tarde no processo de carga, depois de todas as imagens serem carregadas. Isso pode ser o que você quer (por exemplo, se a altura das divs é parcialmente ditada por imagens), mas se não você pode querer usar ready
Em vez disso (neste caso, usando um de seu atalhos), como acontece mais cedo:
jQuery(function($) {
var left = $('#primary');
var right = $('#secondary');
var maxHeight = Math.max(left.height(), right.height());
left.height(maxHeight);
right.height(maxHeight);
});
Mais uma vez, talvez estejas à espera das imagens por uma razão.