0

HTMLで完全に機能していたこのJavascriptコードがあります。main.jsに移動すると、突然機能しなくなりました。

免責事項:私はjQueryとJavascriptに非常に慣れていないので、それが本当に明白である場合は申し訳ありません。

var infoVisible = false,
buyVisible = false;

function closeAllProductInfo() {
    $('#info').css({visibility: 'hidden'});
    $('#buy').css({visibility: 'hidden'});
    $('#options.info a').removeClass('active');
    $('#options.buy a').removeClass('active');
    infoVisible = false;
    buyVisible = false;
    imagesVisible = false;
}

function openProductInfo() {
    closeAllProductInfo();
    $('#info').css({visibility: 'visible', opacity: 0});
    $('#info').animate({opacity: 1}, 250);
    $('#options.info a').addClass('active');
    infoVisible = true;
}

function openProductBuy() {
    closeAllProductInfo();
    $('#buy').css({visibility: 'visible', opacity: 0});
    $('#buy').animate({opacity: 1}, 250);
    $('#options.buy a').addClass('active');
    buyVisible = true;
}

$('.info').click(function() {
    if (infoVisible) { 
        $('#info').animate({opacity: 0}, 250, function() {  
            closeAllProductInfo(); 
        }); 
    } else { 
        openProductInfo(); 
    }

    return false;
});

$('.buy').click(function() {
    if (!$(this).hasClass('in-active')) {
        if (buyVisible) { 
            $('#buy').animate({opacity: 0}, 250, function() { 
                closeAllProductInfo(); 
            }); 
        } 
        else { 
            openProductBuy(); 
        }
    }

    return false;
});

$('#info').click(function() {
    if (infoVisible) { 
        $('#info').animate({opacity:0}, 250, function() { 
            closeAllProductInfo(); 
        }); 
    }
});

$('#buy').click(function() {
    if (!$(this).hasClass('in-active')) {
        if (buyVisible) { 
            $('#buy').animate({opacity:0}, 250, function() { 
                closeAllProductInfo(); 
            }); 
        }
    }
});
4

2 に答える 2

0

おそらく、ドキュメントがロードされた後に実行されていたためですが、現在はスクリプトがロードされたときに実行されます。HTMLファイルの最後または最初にmain.jsをロードしますか?これを使用して、ドキュメントの準備ができた後に実行します。

jQuery(document).ready(function($) {
  // Code using $ as usual goes here.
});
于 2013-02-10T19:45:39.547 に答える
0

すべてのコードを次のようにラップしてみてください:

$(document).ready(function(){
   // Your code in here.
}); 
于 2013-02-10T19:46:03.713 に答える