Like/Dislike με εμφάνιση ονόματος
Ελληνική Κοινότητα Υποστήριξης ForumGreek :: ΤΟΜΕΑΣ ΥΠΟΣΤΗΡΙΞΗΣ :: Προβλήματα με Κώδικες (Προγραμματισμός) :: Αρχείο Προβλημάτων με Κώδικες
Σελίδα 1 από 1 • Μοιραστείτε
Like/Dislike με εμφάνιση ονόματος
Καλησπέρα.
Χρησιμοποιώ τον παρακάτω κώδικα για σύστημα Like/Dislike:
Χρησιμοποιώ τον παρακάτω κώδικα για σύστημα Like/Dislike:
- Κώδικας:
$(function() {
// General Configuration of the plugin
var config = {
position_left : true, // true for left || false for right
negative_vote : true, // true for negative votes || false for positive only
vote_bar : true, // display a small bar under the vote buttons
// button config
icon_plus : '<img src="http://i18.servimg.com/u/f18/18/21/41/30/plus10.png" alt=" "/>',
icon_minus : '<img src="http://i18.servimg.com/u/f18/18/21/41/30/minus10.png" alt="-"/>',
// language config
title_plus : 'Like %{USERNAME}\'s post',
title_minus : 'Dislike %{USERNAME}\'s post',
title_like_singular : '%{VOTES} person likes %{USERNAME}\'s post',
title_like_plural : '%{VOTES} people like %{USERNAME}\'s post',
title_dislike_singular : '%{VOTES} person dislikes %{USERNAME}\'s post',
title_dislike_plural : '%{VOTES} people dislike %{USERNAME}\'s post',
title_vote_bar : '%{VOTES} people liked %{USERNAME}\'s post %{PERCENT}'
},
// function bound to the onclick handler of the vote buttons
submit_vote = function() {
var next = this.nextSibling, // the counter next to the vote button that was clicked
box = this.parentNode,
bar = box.getElementsByTagName('DIV'),
vote = box.getElementsByTagName('A'),
mode = /eval=plus/.test(this.href) ? 1 : 0,
i = 0, j = vote.length, pos, neg, percent;
// submit the vote asynchronously
$.get(this.href, function() {
next.innerHTML = next.innerHTML 1; // add to the vote count
next.title = next.title.replace(/(\d )/, function(M, $1) { return $1 1 });
pos = vote[0].nextSibling.innerHTML;
neg = vote[1] ? vote[1].nextSibling.innerHTML : 0;
percent = pos == 0 ? '0%' : pos == neg ? '50%' : Math.round(pos / (pos neg) * 100) '%';
if (bar[0]) {
bar[0].style.display = '';
bar[0].firstChild.style.width = percent;
box.title = box.title.replace(/\d \/\d /, pos '/' ( pos neg )).replace(/\(\d %\)/, '(' percent ')');
}
});
// revoke voting capabilities on the post once the vote is cast
for (; i < j; i ) {
vote[i].href = '#';
vote[i].className = vote[i].className.replace(/fa_vote/, 'fa_voted');
vote[i].onclick = function() { return false };
}
return false;
},
vote = $('.vote'), i = 0, j = vote.length,
version = $('.bodylinewidth')[0] ? 0 : document.getElementById('wrap') ? 1 : $('.pun')[0] ? 2 : document.getElementById('ipbwrapper') ? 3 : 'badapple', // version check
// version data so we don't have to redefine these arrays during the loop
vdata = {
tag : ['SPAN', 'LI', 'SPAN', 'LI'][version],
name : ['.name', '.postprofile dt > strong', '.username', '.popmenubutton'][version],
actions : ['.post-options', '.profile-icons', '.post-options', '.posting-icons'][version],
},
post, plus, minus, n_pos, n_neg, title_pos, title_neg, li, ul, bar, button, total, percent, span, pseudo, vote_bar; // startup variables for later use in the loop
// prevent execution if the version cannot be determined
if (version == 'badapple') {
if (window.console) console.warn('This plugin is not optimized for your forum version. Please contact the support for further assistance.');
return;
}
for (; i < j; i ) {
post = $(vote[i]).parentsUntil('.post').parent()[0];
bar = $('.vote-bar', vote[i])[0]; // vote bar
button = $('.vote-button', vote[i]); // plus and minus buttons
pseudo = $(vdata.name, post).text() || 'MISSING_STRING'; // username of the poster
ul = $(vdata.actions, post)[0]; // post actions
li = document.createElement(vdata.tag); // vote system container
li.className = 'fa_reputation';
if (li.tagName == 'SPAN') li.style.display = 'inline-block';
// calculate votes
if (bar) {
total = bar.title.replace(/.*?\((\d ).*/, '$1');
percent = bar.title.replace(/.*?(\d )%.*/, '$1');
n_pos = Math.round(total * (percent / 100));
n_neg = total - n_pos;
} else {
n_pos = 0;
n_neg = 0;
}
// set up negative and positive titles with the correct grammar, votes, and usernames
title_pos = (n_pos == 1 ? config.title_like_singular : config.title_like_plural).replace(/%\{USERNAME\}/g, pseudo).replace(/%\{VOTES\}/g, n_pos);
title_neg = (n_neg == 1 ? config.title_dislike_singular : config.title_dislike_plural).replace(/%\{USERNAME\}/g, pseudo).replace(/%\{VOTES\}/g, n_neg);
// define the vote counts
li.innerHTML = '<span class="fa_count fa_positive" title="' title_pos '">' n_pos '</span>' (config.negative_vote ? '
Έχει επεξεργασθεί από τον/την Giotis στις Πεμ Ιαν 21, 2016 1:55 am, 1 φορά
Giotis- Νικητής διαγωνισμού
- Δημοσιεύσεις : 90
Απ: Like/Dislike με εμφάνιση ονόματος
@Giotis σε phpbb2 είναι κάπως δύσκολο να γίνει αυτό. Αν θυμάμαι καλά γίνεται σε phpbb3 και punbb αλλά σε phpbb2 δεν το νομίζω.
Ας κάνουμε tag τον @Van-Helsing να δούμε τι έχει να πει κι αυτός!
Ας κάνουμε tag τον @Van-Helsing να δούμε τι έχει να πει κι αυτός!
Luffy- Διαχειριστής
-
Τόπος : Ελλάδα
Δημοσιεύσεις : 2340
Απ: Like/Dislike με εμφάνιση ονόματος
Καλησπέρα σας,
Δυστυχώς αυτό το project λειτούργησε μόνο σε phpbb3 και μετά ο συγγραφέας του σταμάτησε την υποστήριξη αυτού το project γιατί λειτουργούσε με ψευδό-βάσεις δεδομένων και επιβάρυνε πολύ τα φόρουμς και πιθανόν να δημιουργούσε πρόβλημα στην πραγματική βάση δεδομένων του φόρουμ αυτός ήταν και ο λόγος εγκατάληψης του project όπως με ενημέρωσε ο συγγραφέας του κώδικα.
Δυστυχώς αυτό το project λειτούργησε μόνο σε phpbb3 και μετά ο συγγραφέας του σταμάτησε την υποστήριξη αυτού το project γιατί λειτουργούσε με ψευδό-βάσεις δεδομένων και επιβάρυνε πολύ τα φόρουμς και πιθανόν να δημιουργούσε πρόβλημα στην πραγματική βάση δεδομένων του φόρουμ αυτός ήταν και ο λόγος εγκατάληψης του project όπως με ενημέρωσε ο συγγραφέας του κώδικα.
Van-Helsing- Διαχειριστής
-
Ηλικία : 49
Δημοσιεύσεις : 1990
Απ: Like/Dislike με εμφάνιση ονόματος
Μάλιστα. Δηλαδή υπάρχει περίπτωση να μου δημιουργήσει πρόβλημα στο φόρουμ; Προς το παρόν λειτουργεί άψογα.Van-Helsing έγραψε:Καλησπέρα σας,
Δυστυχώς αυτό το project λειτούργησε μόνο σε phpbb3 και μετά ο συγγραφέας του σταμάτησε την υποστήριξη αυτού το project γιατί λειτουργούσε με ψευδό-βάσεις δεδομένων και επιβάρυνε πολύ τα φόρουμς και πιθανόν να δημιουργούσε πρόβλημα στην πραγματική βάση δεδομένων του φόρουμ αυτός ήταν και ο λόγος εγκατάληψης του project όπως με ενημέρωσε ο συγγραφέας του κώδικα.
Giotis- Νικητής διαγωνισμού
- Δημοσιεύσεις : 90
Απ: Like/Dislike με εμφάνιση ονόματος
Καλησπέρα @Giotis,
Ο κώδικας αυτός ήταν beta (δοκιμαστικός) δηλαδή. Αν σου δουλεύει και δεν σου δημιουργεί προβλήματα μπορείς να τον κρατήσεις. Στους δοκιμαστικούς κώδικες δεν μπορούμε να εγγυηθούμε κάτι γιαυτό και σας λέμε ότι τους χρησιμοποιείτε με δική σας ευθύνη.
Ο κώδικας αυτός ήταν beta (δοκιμαστικός) δηλαδή. Αν σου δουλεύει και δεν σου δημιουργεί προβλήματα μπορείς να τον κρατήσεις. Στους δοκιμαστικούς κώδικες δεν μπορούμε να εγγυηθούμε κάτι γιαυτό και σας λέμε ότι τους χρησιμοποιείτε με δική σας ευθύνη.
Van-Helsing- Διαχειριστής
-
Ηλικία : 49
Δημοσιεύσεις : 1990
Απ: Like/Dislike με εμφάνιση ονόματος
To θέμα λύθηκε, κλειδώθηκε και αρχειοθετήθηκε.
Van-Helsing- Διαχειριστής
-
Ηλικία : 49
Δημοσιεύσεις : 1990
Παρόμοια θέματα
» Ένα νέο Like/Dislike σύστημα
» αφαίρεση dislike button
» αλλαγή ονόματος url..
» προσθηκη ονοματος στην υπογραφη
» Αλλαγή ονόματος στην διέυθηνση
» αφαίρεση dislike button
» αλλαγή ονόματος url..
» προσθηκη ονοματος στην υπογραφη
» Αλλαγή ονόματος στην διέυθηνση
Ελληνική Κοινότητα Υποστήριξης ForumGreek :: ΤΟΜΕΑΣ ΥΠΟΣΤΗΡΙΞΗΣ :: Προβλήματα με Κώδικες (Προγραμματισμός) :: Αρχείο Προβλημάτων με Κώδικες
Σελίδα 1 από 1
Δικαιώματα σας στην κατηγορία αυτή
Δεν μπορείτε να απαντήσετε στα Θέματα αυτής της Δ.Συζήτησης
|
|