-5

これを機能させて、jquery ライブラリの新しいバージョンのいずれかと互換性を持たせるのに苦労しています。以前はバージョン 1.3.2 を使用していましたが、とりあえず 1.9.1 にバージョンアップしたいと思います。いくつかのテストを実行したところ、更新が必要な JavaScript のセクションがいくつかあることがわかりましたが、それを理解できないようです。

編集: 問題を引き起こしている 3 つの主な領域のうち 2 つがあります...問題があると思われる場所を以下に示します... 1 つの部分は解決されましたが、これら 2 つの部分でまだ苦労しています下。

JAVASCRIPT - パート 1

$(document).ready(function () {

    $('.rate_widget').each(function (i) {
        var widget = this;
        var out_data = {
            widget_id: $(widget).attr('id'),
            fetch: 1
        };
        $.post(
            '--Ratings/ratings.php',
        out_data,

        function (INFO) {
            $(widget).data('fsr', INFO);
            set_votes(widget);
        },
            'json');
    });

    $('.ratings_stars').hover(

    function () {
        $(this).prevAll().andSelf().addClass('ratings_over');
        $(this).nextAll().removeClass('ratings_vote');
    },

    function () {
        $(this).prevAll().andSelf().removeClass('ratings_over');
        set_votes($(this).parent());
    });

    $('.ratings_stars').bind('click', function () {
        var star = this;
        var widget = $(this).parent();

        var clicked_data = {
            clicked_on: $(star).attr('class'),
            widget_id: $(star).parent().attr('id')
        };
        $.post(
            '--Ratings/ratings.php',
        clicked_data,

        function (INFO) {
            widget.data('fsr', INFO);
            set_votes(widget);
        },
            'json');
    });

});

function set_votes(widget) {

    var avg = $(widget).data('fsr').whole_avg;
    var votes = $(widget).data('fsr').number_votes;
    var exact = $(widget).data('fsr').dec_avg;

    window.console && console.log('and now in set_votes, it thinks the fsr is ' + $(widget).data('fsr').number_votes); /* ===== <-- Here ===== */

    $(widget).find('.star_' + avg).prevAll().andSelf().addClass('ratings_vote');
    $(widget).find('.star_' + avg).nextAll().removeClass('ratings_vote');
    $(widget).find('.total_votes').text(votes + ' votes recorded (' + exact + ' rating)');
}

JAVASCRIPT - パート 2

$(function () {
    $('input.field').focus(function () {
        if (this.title == this.value) {
            this.value = '';
        }
    })
        .blur(function () {
        if (this.value == '') { /* ===== <-- Here ===== */
            this.value = this.title;
        }
    });
    var currentPage = 1;
    $('#slider_profile .buttons_profile span').live('click', function () {
        var timeout = setTimeout(function () {
            $("img").trigger("slidermove") /* ===== <-- Here ===== */
        }, 100);

        var fragments_count = $(this).parents('#slider_profile:eq(0)').find('.fragment_profile').length;
        var fragment_width = $(this).parents('#slider_profile:eq(0)').find('.fragment_profile').width();
        var perPage = 1;
        var numPages = Math.ceil(fragments_count / perPage);
        var stepMove = fragment_width * perPage;
        var container = $(this).parents('#slider_profile:eq(0)').find('.con_profile');
        var firstPosition = 0;
        var lastPosition = -((numPages - 1) * stepMove);
        if ($(this).hasClass('next')) {
            currentPage++;
            if (currentPage > numPages) {
                currentPage = 1;
                container.animate({
                    'left': firstPosition
                });
                return;
            }; /* ===== <-- Here ===== */
            container.animate({
                'left': -((currentPage - 1) * stepMove)
            });
        }; /* ===== <-- Here ===== */

        if ($(this).hasClass('prev')) {
            currentPage--;
            if (currentPage < 1) {
                currentPage = numPages;
                container.animate({
                    'left': lastPosition
                });
                return;
            }; /* ===== <-- Here ===== */
            container.animate({
                'left': -((currentPage - 1) * stepMove)
            });
        }; /* ===== <-- Here ===== */
    });
});

また、修正が必要な問題があると思われる場所の横に ( <-- ここ ) をマークした場所が完全に間違っている可能性もあります。これらすべてを念頭に置いて、誰かがこれらの部分を jquery 1.9.1 の最新バージョンのいずれかで動作させる方法を理解するのを手伝ってくれませんか?

4

1 に答える 1

1

まず、これを試してください

JAVASCRIPT - パート 1

$(document).ready(function () {
    $('a.head').click(function () {
        var a = $(this);
        var section = a.attr('href');
        section.removeClass('section');
        $('.section').hide();
        section.addClass('section');
        if (section.is(':visible')) {
            section.slideToggle(); /* ===== <-- 400 is the default duration ===== */
        } else {
            section.slideToggle();
        }
    });
});

JAVASCRIPT - パート 2

$(document).ready(function () {
    $('.rate_widget').each(function () {
        var widget = $(this);
        var out_data = {
            widget_id: widget.attr('id'),
            fetch: 1
        };
        $.post(
            '--Ratings/ratings.php',
        out_data,

        function (INFO) {
            widget.data('fsr', INFO);
            set_votes(widget);
        },
            'json');
    });

    $('.ratings_stars').hover(function () {
        $(this).prevAll().andSelf().addClass('ratings_over');
        $(this).nextAll().removeClass('ratings_vote');
    }, function () {
        $(this).prevAll().andSelf().removeClass('ratings_over');
        set_votes($(this).parent());
    });

    $('.ratings_stars').bind('click', function () {
        var star = $(this);
        var widget = star.parent();
        var clicked_data = {
            clicked_on: star.attr('class'),
            widget_id: star.parent().attr('id')
        };
        $.post(
            '--Ratings/ratings.php',
        clicked_data,

        function (INFO) {
            widget.data('fsr', INFO);
            set_votes(widget);
        },
            'json');
    });

});

function set_votes(widget) {

    var avg = widget.data('fsr').whole_avg;
    var votes = widget.data('fsr').number_votes;
    var exact = widget.data('fsr').dec_avg;

    console.log('and now in set_votes, it thinks the fsr is ' + widget.data('fsr').number_votes);

    widget.find('.star_' + avg).prevAll().andSelf().addClass('ratings_vote');
    widget.find('.star_' + avg).nextAll().removeClass('ratings_vote');
    widget.find('.total_votes').text(votes + ' votes recorded (' + exact + ' rating)');
}

JAVASCRIPT - パート 3

$(function () {
    $('input.field').focus(function () {
        if (this.title == this.value) {
            this.value = '';
        }
    }).blur(function () {
        if (this.value === '') { /* ===== <-- Here ===== */
            this.value = this.title;
        }
    });
    var currentPage = 1;
    $(document).on('click', $('#slider_profile .buttons_profile span'), function () {
        var timeout = setTimeout(function () {
            $("img").trigger("slidermove"); /* ===== <-- Here ===== */
        }, 100);

        var fragments_count = $(this).parents('#slider_profile:eq(0)').find('.fragment_profile').length;
        var fragment_width = $(this).parents('#slider_profile:eq(0)').find('.fragment_profile').width();
        var perPage = 1;
        var numPages = Math.ceil(fragments_count / perPage);
        var stepMove = fragment_width * perPage;
        var container = $(this).parents('#slider_profile:eq(0)').find('.con_profile');
        var firstPosition = 0;
        var lastPosition = -((numPages - 1) * stepMove);
        if ($(this).hasClass('next')) {
            currentPage++;
            if (currentPage > numPages) {
                currentPage = 1;
                container.animate({
                    'left': firstPosition
                });
                return;
            }
            container.animate({
                'left': -((currentPage - 1) * stepMove)
            });
        }

        if ($(this).hasClass('prev')) {
            currentPage--;
            if (currentPage < 1) {
                currentPage = numPages;
                container.animate({
                    'left': lastPosition
                });
                return;
            }
            container.animate({
                'left': -((currentPage - 1) * stepMove)
            });
        }
    });
});
于 2013-09-13T14:04:42.947 に答える