jquery从另一个脚本调用一个脚本
问题描述:
这是来自在线商店页面的代码的一部分。 PHP代码加载完整的目录,之后,jquery点击相应的链接并过滤目录。jquery从另一个脚本调用一个脚本
我有一个页面,他们都工作在两个jqueries,但
<script>
$(document).on('click', '.side-menu-categories li', function() {
var click = $(this).attr('data-filter');
$('.product-box').hide();
$('.product-box').each(function() {
if ($(this).attr('data-filter') == click || click == 0) {
$(this).fadeIn('fast');
}
});
});
</script>
这部分工作好,我都没有问题,但是当我尝试调用它的窗口负载它不是为了工作
$(window).load(function() {
$('#loader_spin').hide();
$('#product_container').show();
var clicked = false;
var filter_catalog = <?php echo(isset($_GET['id']) ? $_GET['id'] : 0); ?>;
$('.side-menu-categories li').each(function() {
if ($(this).attr('data-filter') == filter_catalog) {
$(this).click();
var clicked = true;
}
});
if (clicked == false) {
$('.side-menu-categories li[data-filter="0"]').click();
}
});
答
随着var clicked = true;
要定义新的变量到each()
函数的局部范围,所以删除var
(即只是做clicked = true
)使用在定义的全局变量3210范围以上:
$(window).load(function() {
$('#loader_spin').hide();
$('#product_container').show();
var clicked = false;
var filter_catalog = <?php echo(isset($_GET['id']) ? $_GET['id'] : 0); ?>;
$('.side-menu-categories li').each(function() {
if ($(this).attr('data-filter') == filter_catalog) {
$(this).click();
clicked = true; //don't declare it locally
}
});
if (clicked == false) {
$('.side-menu-categories li[data-filter="0"]').click();
}
});
+1
你真棒))非常感谢你 –
你试过'(document).ready('而不是'(window).load'吗?听起来像一个经典的加载时间问题。 – Markus
我需要这个功能窗口加载没有文档准备..谢谢反正 –