0

ブラウザでウェブページをテストしていますが、Firefox と Opera で一部が機能していないようです。私のページで使用されているjQueryが原因だと思います。

これは私のウェブサイトです: http://freshbeer.lv/ht/index.html

ソース コードの最後に、使用されているすべての jQuery コードを見つけることができます (主に、プラグインを呼び出して適用するため)。コンソールにエラーが表示されないため、何が問題なのかを判断するのに苦労しています (firefox 20.0)。主な機能障害は次のとおりです。

  1. プレーヤー、Chrome での動作を比較して、Firefox または Opera で確認してください。まず、ロードを意味する「...」が表示されません。次に、別のプレーヤーで再生をクリックすると、両方の曲が再生され続けます。他のブラウザと同様に、最初の曲が一時停止するため、再生中の曲は 1 つだけです。

  2. 広告は、jQuery によって計算された上下にマージンを持つ必要がありますが、opera と firefox にはありません。だから私は何かを逃していますか?たぶん、特定のコード標準を適用する必要がありますか?

それがすべてのようですが、私には確信が持てません。

私が書いたコードをここに置きます (おそらく問題はその中にあります)。その上にいくつかの jQuery プラグインが含まれていることに注意してください。

<script type="text/javascript">

//Audio Player
audiojs.events.ready(function () {
    var as = audiojs.createAll();

        $('audio').each(function () {
            var myAudio = this;
            this.addEventListener('play', function () {
                $('audio').each(function () {
                    if (!(this === myAudio)) {
                        this.pause();
                    }
            });
        });
    });
});

$(document).ready(function() {

    //Responsive add margins
    function addMargin () {
        var add = $(".advert");
        var addMargin = add.css("margin-left");
        add.css({
            "margin-top": addMargin,
            "margin-bottom": addMargin
        });
    }
    addMargin();
    $(window).resize(addMargin);

    //Responsive Grid
    var MusicGrid = (function() {
        var $musicGridContainer = $('.grid'),
            init = function() {
                changeMusicGrid();
                initEvents();
                initPlugins();
            },
        changeMusicGrid = function() {
            var w_w = $(window).width();
            if (w_w <= 765) n = 1;
            else if (w_w <= 1180) n = 2;
            else n = 3;
        },
        initEvents = function() {
            $(window).on('smartresize.MusicGrid', function(event) {
                changeMusicGrid();
            });
        },
        initPlugins = function() {
            $musicGridContainer.imagesLoaded(function() {
                setTimeout(function() {
                    $musicGridContainer.masonry({
                        itemSelector: '.article',
                        columnWidth: function(containerWidth) {
                            return containerWidth / n;
                        },
                        isAnimated: true,
                        animationOptions: {
                            duration: 150
                        }
                    });
                }, 500);
            });
        };
        return {
            init: init
        };
    })();
    MusicGrid.init();
});


//Preload Content
function preloadCode() {
    if (preloadCode.done) return;
    preloadCode.done = true;
    clearTimeout(t);

    $(".preloader").css("display", "none");
    $(".grid").css({ opacity: 0, visibility: 'visible', marginTop: 20 }).animate({ marginTop: 0, opacity: 1 }, 550);

    $('.article[id^="article-"]').each(function () {
        if (parseInt(this.id.replace('article-', '')) % 3 === 0) {
            $('#' + this.id).css({ marginTop: 50 }).animate({ marginTop: 0 }, 350);
        } else if (parseInt(this.id.replace('article-', '')) % 2 === 0) {
            $('#' + this.id).css({ marginTop: 100 }).animate({ marginTop: 0 }, 400);
        } else {
            $('#' + this.id).css({ marginTop: 150 }).animate({ marginTop: 0 }, 450);
        }
    });

    $(".footer").css("display", "block");

}

var t = setTimeout(preloadCode, 6000);
$(window).load(preloadCode);

</script>
4

1 に答える 1