Весьма интересный вариант рейтинга для uCoz. Кнопка «Like» будет отображаться вместо рейтинга звездочками на Вашем сайте uCoz. Вы можете заменить изображение с большим поднятым вверх пальцем на свое (например, на сердечко или звездочку, прицел или еще что-то в этом роде). При первом нажатии на «Like» цифра просто увеличится на счетчике, никаких всплывающих окон не появится, при повторном нажатии появится окно, в котором будет написано, что Вы уже оценивали этот материал, и число больше не увеличится.
В примере наглядно показана работа скрипта, но поскольку это только пример, число увеличивается при каждом нажатии и при обновлении не сохраняется.
Установка
Панель управления » Управление дизайном
Вставьте этот скрипт, например, в Нижнюю часть сайта. Главное, чтобы он был только один раз на странице:
Code
<script type="text/javascript">
likePlus = function (c, d, f, g) {
if (typeof d == 'undefined' || typeof c == 'undefined' || (c != 1 && c != -1)) return false;
c += 2;
if (!f) f = location.pathname.match(/[^\\\/]+/i) + '';
if (!f) return false;
var h = $('#rate_' + d);
g = $.extend({
'before': function (a) {
},
'after-success': function (a, b) {
document.getElementById('frs2' + d).innerText++
a.html(b).addClass(b > 0 ? 'positiveRate' : (b == 0 ? 'nullRate' : 'negativeRate'));
},
'after-error': function (a) {
try {eval(a)} catch (e) {}
}
}, g || {});
g.before(h);
$.post('/' + f + '/', {'a': '65', 'id': d, 'mark': c, 'mod': f, 'ajax': '2'}, function (a) {
a = $('cmd:first', a).text();
var b = a.match(/Рейтинг:\s*([\d.]+)\/(\d+)/i);
if (!b) return g['after-error'](a);
b = Math.round(b[1] * b[2]) - 2 * b[2];
g['after-success'](h, b)
})
}
function getClass(nameid, nameclass) {
document.getElementById(nameid).className=nameclass
}
</script>
likePlus = function (c, d, f, g) {
if (typeof d == 'undefined' || typeof c == 'undefined' || (c != 1 && c != -1)) return false;
c += 2;
if (!f) f = location.pathname.match(/[^\\\/]+/i) + '';
if (!f) return false;
var h = $('#rate_' + d);
g = $.extend({
'before': function (a) {
},
'after-success': function (a, b) {
document.getElementById('frs2' + d).innerText++
a.html(b).addClass(b > 0 ? 'positiveRate' : (b == 0 ? 'nullRate' : 'negativeRate'));
},
'after-error': function (a) {
try {eval(a)} catch (e) {}
}
}, g || {});
g.before(h);
$.post('/' + f + '/', {'a': '65', 'id': d, 'mark': c, 'mod': f, 'ajax': '2'}, function (a) {
a = $('cmd:first', a).text();
var b = a.match(/Рейтинг:\s*([\d.]+)\/(\d+)/i);
if (!b) return g['after-error'](a);
b = Math.round(b[1] * b[2]) - 2 * b[2];
g['after-success'](h, b)
})
}
function getClass(nameid, nameclass) {
document.getElementById(nameid).className=nameclass
}
</script>
Следующий код Вы можете вставить туда же, а можно выдернуть все стили селекторов и вставить в свой файл CSS:
Code
<style type="text/css">
.likeplus {font-size:1pt;background:url('http://joomla.ucoz.com/33/58127939.png') top;width:13px;height:12px;overflow:hidden;cursor:pointer;margin-right:4px;margin-top:0px}
.likeplus_hover {font-size:1pt;background:url('http://joomla.ucoz.com/33/58127939.png') bottom;width:13px;height:12px;overflow:hidden;cursor:pointer;margin-right:4px;margin-top:0px}
.like2 {font-size:8pt;font-weight:bold;color:#111C49;}
.likex {font-size:8pt;font-weight:bold;color:#223276;}
</style>
.likeplus {font-size:1pt;background:url('http://joomla.ucoz.com/33/58127939.png') top;width:13px;height:12px;overflow:hidden;cursor:pointer;margin-right:4px;margin-top:0px}
.likeplus_hover {font-size:1pt;background:url('http://joomla.ucoz.com/33/58127939.png') bottom;width:13px;height:12px;overflow:hidden;cursor:pointer;margin-right:4px;margin-top:0px}
.like2 {font-size:8pt;font-weight:bold;color:#111C49;}
.likex {font-size:8pt;font-weight:bold;color:#223276;}
</style>
Изображение http://joomla.ucoz.com/33/58127939.png можно заменить на свое.
Вот код самой кнопки. Вставлять нужно в вид материалов нужного модуля или на страницу материала и комментариев к нему. Для каталога статей в коде ниже написано publ. Чтобы использовать код для новостей сайта, например, заменить publ на news.
Code
<div onclick="likePlus(1,$ID$,'publ');return false" style="cursor:pointer;height:16px;" onmouseover="getClass('hr2$ID$','likeplus_hover');getClass('frs2$ID$','like2')" onmouseout="getClass('hr2$ID$','likeplus');getClass('frs2$ID$','likex')">
<table cellspacing="0" cellpadding="0"><tbody><tr><td><div id="hr2$ID$" class="likeplus"> </div></td><td><div class="likex" id="frs2$ID$">$RATED$</div></td></tr></tbody></table>
</div>
Готово.
Другие новости |
Поделиться ссылкой
|