我定义了一个全局变量并在函数中更改其值并尝试在另一个函数中使用它,但输出是(未定义)。
继承我的代码:
var screenWidth;
var thumbNumber;
window.onresize = function() {
screenWidth = window.innerWidth +'px';
if(screenWidth >= 1201 + 'px') {
thumbNumber = 4;
}
else if(screenWidth <= 1200 + 'px') {
thumbNumber = 6;
}
}
$(function() {
$div = null;
$('#thumbs2').children().each(function(i) {
if ( i % thumbNumber == 0) {
$div = $( '<div />' );
$div.appendTo( '#thumbs2' );
}
$(this).appendTo( $div );
$(this).addClass( 'itm'+i );
$(this).click(function() {
$('#images2').trigger( 'slideTo', [i, 0, true] );
});
});
});
答案 0 :(得分:0)
这里有两件事你需要做。
1.在jquery
中将$(document).ready(){}
函数中的所有代码放在最佳选择中。因此,请将window size
代码计算到$(document).ready(){}
函数中。
2.如果您比较值的条件是错误的。 if
条件不评估方程式。请从+PX
和if
条件
else
$(function() {
var screenWidth;
var thumbNumber;
window.onresize = function() {
screenWidth = window.innerWidth +'px';
if(screenWidth >= '1201px') {
thumbNumber = 4;
}
else if(screenWidth <= '1200px') {
thumbNumber = 6;
}
}
});
$(function() {
$div = null;
$('#thumbs2').children().each(function(i) {
if ( i % thumbNumber == 0) {
$div = $( '<div />' );
$div.appendTo( '#thumbs2' );
}
$(this).appendTo( $div );
$(this).addClass( 'itm'+i );
$(this).click(function() {
$('#images2').trigger( 'slideTo', [i, 0, true] );
});
});
});