Как я могу объединить несколько функций JavaScript для системы звездного рейтингаPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как я могу объединить несколько функций JavaScript для системы звездного рейтинга

Сообщение Anonymous »

Я использую WAMP, установленный на ПК с Windows 10, для галереи видеоклипов, хранящихся на локальном диске. На страницах галереи есть миниатюры для каждого видеоклипа и 5-звездочная рейтинговая система.
В звездной рейтинговой системе используется модуль JavaScript под названием «rateIt». При изменении звездного рейтинга новое значение рейтинга обновляется в таблице базы данных MySQL.
После нескольких недель чтения документации «rateIt», поиска в Интернете рабочих примеров и много проб и ошибок, наконец, у меня есть код JavaScript для звездного рейтинга каждого большого пальца, работающий как задумано.
Моя проблема в том, что каждая страница галереи содержит сотни превью и код JavaScript для звезды. рейтинг каждого большого пальца очень повторяется.
Как я могу использовать функцию, хранящуюся либо на той же странице, либо используемую из локального файла js, чтобы уменьшить количество кода JavaScript, необходимого для звездного рейтинга, и использовать его для каждого большого пальца?
Я уверен, что это очень элементарное программирование для человека, у которого больше опыта в кодировании на JavaScript. Я пытался создать на странице функцию и передать ей необходимые переменные, но каждая попытка нарушает систему звездного рейтинга.
Любая помощь, которую вы можете предложить, будет принята с благодарностью :)< /p>
Для ясности, следующий код представляет собой каждую отдельную функцию системы звездного рейтинга, используемую для одного из превью:






$("#vid147800").data('rateit-value', 3);

var tooltipvalues = ['delete', 'poor', 'ok', 'good', 'excellent'];
$("#vid147800").bind("over", function (event, value) {
$(this).attr("title", tooltipvalues[value - 1]); });

$("#vid147800").bind('rated', function (event, value) {
$("#vid147800sid").text("Rating saved " + value); });

$("#vid147800").bind("reset", function (event, value) {
$("#vid147800sid").text("Rating reset"); });

$("#vid147800").bind('rated reset', function () { //updates value in database
var value = $(this).rateit('value'); //when rating is changed
var IDvid = "vid147800";
$.ajax({
url: 'assets/includes/update_ratings.php', //your server side script
data: { IDvid: IDvid, value: value }, //our data
type: 'POST'
});
});





Я использовал несколько переменных и объединил функции.
Мой код для первых двух превью:






$("#vid147800").data('rateit-value', 3); //value is updated from database
$('#vid147800').bind('rated reset', function () {
var rtDivID = '#vid147800'; //values are updated from
var IDvid = "vid147800"; //database on page load
var value = $(this).rateit('value');
var tooltipvalues = ['delete', 'poor', 'ok', 'good', 'excellent'];
$(rtDivID).bind("over", function (event, value) {
$(this).attr("title", tooltipvalues[value - 1]); });
$(rtDivID).bind('rated', function (event, value) {
$("#vid147800sid").text("Rating saved " + value); });
$(rtDivID).bind("reset", function (event, value) {
$("#vid147800sid").text("Rating reset"); });
$.ajax({
url: 'assets/includes/update_ratings.php', //your server side script
data: { IDvid: IDvid, value: value }, //our data
type: 'POST'
});
});









$("#vid899128").data('rateit-value', 2); //value is updated from database
$("#vid899128").bind('rated reset', function () {
var rtDivID = '#vid899128'; //values are updated from
var IDvid = "vid899128"; //database on page load
var value = $(this).rateit('value');
var tooltipvalues = ['delete', 'poor', 'ok', 'good', 'excellent'];
$(rtDivID).bind("over", function (event, value) {
$(this).attr("title", tooltipvalues[value - 1]); });
$(rtDivID).bind('rated', function (event, value) {
$("#vid899128value").text("Rating saved " + value); });
$(rtDivID).bind("reset", function (event, value) {
$("#vid899128value").text("Rating reset"); });
$.ajax({
url: 'assets/includes/update_ratings.php', //your server side script
data: { IDvid: IDvid, value: value }, //data
type: 'POST'
});
});




Это PHP-код, который генерирует каждый значок галереи и звездный рейтинг, используя данные, хранящиеся в базе данных mysql.


Подробнее здесь: https://stackoverflow.com/questions/791 ... ing-system
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»