이것은 온라인 쇼핑몰의 코드 일부입니다. 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>
을 가지고 있고 나는 그것을 아무 문제가 없다,하지만 난 창로드를 호출 할 때이 아니다 위해 (즉, 그냥 clicked = true
을) 당신이 each()
기능의 지역 범위에 새로운 변수를 정의하는 var clicked = true;
으로
$(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();
}
});
'(window) .load' 대신'(document) .ready (')를 사용해 보셨습니까? 클래식 로딩 시간 문제와 비슷합니다. – Markus
윈도우로드시이 기능이 필요합니다. 문서 준비가되지 않았습니다. 어쨌든 덕분에 –