CSS и Java Script - изменение фоновой картинки Страница 2

Общие вопросы по системе юкоз, вопросы по ucoz, вопросы без определенной темы

Re: CSS и Java Script - изменение фоновой картинки

Admin » » Сообщение:

Fearfire писал(а) › 25 май 2016, 14:13:если я уже оценил например через свой профиль с одного браузера и хочу оценить с другого, то пишет что я уже оценивал

Там привязка по IP.

Fearfire писал(а) › 25 май 2016, 14:13:А можно вместо проверки звёздочек сделать условие на основе этой части скрипта?

Вы уже спрашивали, ответил нельзя.
Так как данный запрос голосует, и получится, что пользователь только зашел и сразу проголосовал не желая того.

Как вариант, стилями оформить стандартные звездочки как вам нужно.
Это будет самое простое и эффективное решение.

css, javascript, background, фон, изменение

Re: CSS и Java Script - изменение фоновой картинки

Fearfire » » Сообщение:

Admin писал(а) › 25 май 2016, 18:12:Вы уже спрашивали, ответил нельзя.
Так как данный запрос голосует, и получится, что пользователь только зашел и сразу проголосовал не желая того.

Это я понимаю, я имел ввиду чтобы была только проверка, может изменить что-то в этой строке или добавить...


Re: CSS и Java Script - изменение фоновой картинки

Admin » » Сообщение:

Fearfire писал(а) › 25 май 2016, 20:08:Это я понимаю, я имел ввиду чтобы была только проверка

Ну что тут изменишь? Запрос автоматически голосует.

Как написал выше, самое простое будет “стилями оформить стандартные звездочки как вам нужно”.
Ни надо ничего лепить, никакие проверки, просто подстроить стили под звездочки.



Re: CSS и Java Script - изменение фоновой картинки

Admin » » Сообщение:

Fearfire писал(а) › 25 май 2016, 22:39:Тоесть стилями можно сделать вместо пяти звёздочек одну?...

Ну конечно можно.
Задать фиксированные размеры + фоновую картинку.
Когда неактивна - серенькая и при наведении красная, когда проголосовал - просто красная.

Вот еще способ нашел:

Код: Выделить всё Развернуть
<?if($RATING$) and ($USER_LOGGED_IN$)?>
<div class="likepos_full">
<div style="<?if($RATE_FORM$)?>background-position:0 24px;<?endif?>" id="likeplus_full" class="likeplus_full" title="Мне нравится!"
 onclick="$.get('/photo/1-1-$ID$-13-1',function(data) {if($(data).text().indexOf('уже оценивали')>-1){_uWnd.alert('Вы уже оценивали данную фотографию!','Спасибо за оценку',{w:250,h:85,t:8000});}else{$('#likeplus_full').css({'background-position':'0 24px'});_uWnd.alert('Спасибо за оценку фотографии!','Вы успешно оценили',{w:260,h:70,t:8000})};});">
 </div></div>
 <?if($RATED$)>0?><div class="likex_full">+$RATED$</div><?endif?>
 <?else?>
 <div class="likepos_full">
<div class="like_nfull" title="Мне нравится!" onclick="rating();">
</div></div>
<?if($RATED$)>0?><div class="likex_nfull">+$RATED$</div><?endif?>

и че я сразу об этом не подумал..


Re: CSS и Java Script - изменение фоновой картинки

Fearfire » » Сообщение:

Admin писал(а) › 26 май 2016, 04:47:

Код: Выделить всё Развернуть
style="<?if($RATE_FORM$)?>background-position:0 24px;<?endif?>"

При таком условии background-position меняется в любом случае, оценили или нет ;)

Admin писал(а) › 26 май 2016, 04:47:Ну конечно можно.
Задать фиксированные размеры + фоновую картинку.
Когда неактивна - серенькая и при наведении красная, когда проголосовал - просто красная.

Попробую...


Re: CSS и Java Script - изменение фоновой картинки

Admin » » Сообщение:

Fearfire писал(а) › 26 май 2016, 21:28:При таком условии background-position меняется в любом случае, оценили или нет

У меня это работает по другому:
В шаблон:

Код: Выделить всё Развернуть
<?if($RATE_FORM$)?>1<?else?>0<?endif?>
magical-snap-2016-05-28-11-35-003.jpg
magical-snap-2016-05-28-11-35-002.jpg

Re: CSS и Java Script - изменение фоновой картинки

Fearfire » » Сообщение:

Admin писал(а) › 28 май 2016, 12:37:У меня это работает по другому:

... естественно, раз у Вас работало до этого, то и сейчас будет...
У меня на некоторых фото, которые оценил $RATE_FORM$ = 1

Может скриптом увеличить время на оценку, поставить задержку...

Пробовал ставить стилями стандартные звёзды - там титл не убирается, который показывает "Рейтинг 1.1" и тд.

P.S. Мне кажется, что дело в браузере, а точнее в обработке скрипта...
Только что оценил со смартфона - всё работает...


Re: CSS и Java Script - изменение фоновой картинки

Admin » » Сообщение:

Fearfire писал(а) › 03 июн 2016, 20:01:Только что оценил со смартфона - всё работает...

А ну да, конечно, очень может быть.
Еще вариант есть с куками - просто писать id оцененных материалов, но кука маленькая, лучше тогда локальное хранилище, но опять же его очистить можно.

Fearfire писал(а) › 03 июн 2016, 20:01:У меня на некоторых фото, которые оценил $RATE_FORM$ = 1

Возможно, вы оценивали как гость, и у вас сменился IP, или просто косяк системы.
Ибо для оцененных фото не должно выводится $RATE_FORM$.


Re: CSS и Java Script - изменение фоновой картинки

Admin » » Сообщение:

Fearfire писал(а) › 03 июн 2016, 20:01:Может скриптом увеличить время на оценку, поставить задержку...

И релоадить страницу.
Типа:

Код: Выделить всё Развернуть
{$('#likeplus_full').css({'background-position':'0 24px'});_uWnd.alert('Спасибо за оценку фотографии!','Вы успешно оценили',{w:260,h:70,t:8000});setTimeout(function(){window.location.reload()},5000);};

А вообще, сам скрипт мне не оч нравится.. трудночитаем, я бы написал вот так:

Код: Выделить всё Развернуть
<script type="text/javascript">
function _rate(id){
   if(!id){
      new _uWnd('loginuser',' ',300,200,{header:1,close:1,resize:0},$('#login_user').html());
   }else{
      $.get('/photo/1-1-'+id+'-13-1',function(data) {
         if($(data).text().indexOf('уже оценивали')>-1){
            _uWnd.alert('Вы уже оценивали данную фотографию!','Спасибо за оценку',{w:250,h:85,t:8000});
         }else{
            $('#likeplus_full').css({'background-position':'0 24px'});
            _uWnd.alert('Спасибо за оценку фотографии!','Вы успешно оценили',{w:260,h:70,t:8000});
            setTimeout(function(){window.location.reload()},5000);};
      });
   }
};
</script>
<?if($RATING$ and $USER_LOGGED_IN$)?>
<div class="likepos_full">
   <a style="<?if($RATE_FORM$)?>background-position:0 24px;<?endif?>" id="likeplus_full" class="likeplus_full" title="Мне нравится!" href="javascript://" onclick="_rate('$ID$');"></a>
</div>
<?if($RATED$)>0?><div class="likex_full">+$RATED$</div><?endif?>
<?else?>
<div class="likepos_full">
   <a class="like_nfull" title="Мне нравится!" href="javascript://" onclick="_rate();"></a>
</div>
<?if($RATED$)>0?><div class="likex_nfull">+$RATED$</div><?endif?>
<?endif?>


Re: CSS и Java Script - изменение фоновой картинки

Admin » » Сообщение:

Fearfire писал(а) › 09 июн 2016, 22:15:А можно на этой странице как-то подправить скрипт, чтобы он работал не для одной фотографии, а для всех?

В смысле? Что бы голос по одной фотке засчитывался сразу для всех?
Да, типа так:

Код: Выделить всё Развернуть
<script type="text/javascript">
var els = $('.likeplus_full');
if(els.size()){
   els.each(function(){
      els.trigger('click');
   });
}
</script>

если отдельным скриптом или так:

Код: Выделить всё Развернуть
<script type="text/javascript">
function _rate(id){
    if(!id){
         new _uWnd('loginuser',' ',300,200,{header:1,close:1,resize:0},$('#login_user').html());
    }else{
       var els = $('.likeplus_full');
       if(els.size()==1){
         $.get('/photo/1-1-'+id+'-13-1',function(data) {
             if($(data).text().indexOf('уже оценивали')>-1){
                  _uWnd.alert('Вы уже оценивали данную фотографию!','Спасибо за оценку',{w:250,h:85,t:8000});
             }else{
                  $('#likeplus_full').css({'background-position':'0 24px'});
                  _uWnd.alert('Спасибо за оценку [anchor=http://likbezz.ru/viewtopic.php?t=1803|Качество демо фотографии на юкозе. Как улучшить?]фотографии[/anchor]!','Вы успешно оценили',{w:260,h:70,t:8000});
                  setTimeout(function(){window.location.reload()},5000);};
         });
       }else{
          els.each(function(){
             els.trigger('click');
          });
       }
    }
};
</script>

если для функции что в предыдущем посте


Re: CSS и Java Script - изменение фоновой картинки

Fearfire » » Сообщение:

Admin писал(а) › 12 июн 2016, 16:29:В смысле? Что бы голос по одной фотке засчитывался сразу для всех?

Сразу для всех не надо...

Вот этот скрипт:

Код: Выделить всё Развернуть
<?if($RATING$) and ($USER_LOGGED_IN$)?>
<div id="is_rate" style="display:none;height:0;overflow:hidden;"><?$RSTARS$('12','/img/like_.png','1','float')?></div>
<div class="likepos">
<div class="likeplus" title="Мне нравится!" id="likeplus"
onclick="{$('#likeplus').css({'background-position':'0 20px'});}
 + $.get('/photo/1-1-$ID$-13-1',function(data) {if($(data).text().indexOf('уже оценивали')>-1){ _uWnd.alert('Вы уже оценивали данную фотографию!','Спасибо за оценку',{w:250,h:85,t:8000}); } else { _uWnd.alert('Спасибо за оценку фотографии!','Вы успешно оценили',{w:260,h:70,t:8000})};});">
 </div></div>
 <?if($RATED$)>0?><div class="likex">+$RATED$</div><?endif?>
     
 <script type="text/javascript">
 function is_rate(){
 if($('#is_rate li').size() == 1){$('#likeplus').css({'background-position':'0 20px'});}
 };is_rate();
 </script>
     
 <?else?>
 <div class="likepos" id="likepos">
<div class="like_nologin" title="Мне нравится!" onclick="rating();">
</div></div>
<?if($RATED$)>0?><div class="likex_nologin">+$RATED$</div><?endif?>
 
<?endif?>

в "Вид фотографий" при нажатии "Мне нравится" на любом фото меняет цвет оценки всегда у первого фото,
а также автоматическая проверка не меняет цвет...


Re: CSS и Java Script - изменение фоновой картинки

Admin » » Сообщение:

Fearfire писал(а) › 13 июн 2016, 19:21:в "Вид фотографий" при нажатии "Мне нравится" на любом фото меняет цвет оценки всегда у первого фото,
а также автоматическая проверка не меняет цвет...

Понятно.

Fearfire писал(а) › 13 июн 2016, 19:21:Вот этот скрипт:

Как-то так:

Код: Выделить всё Развернуть
<?if($RATING$) and ($USER_LOGGED_IN$)?>
<div id="is_rate-$ID$" style="display:none;height:0;overflow:hidden;"><?$RSTARS$('12','/img/like_.png','1','float')?></div>
<div class="likepos">
<div class="likeplus" title="Мне нравится!" id="likeplus-$ID$"
onclick="{$('#likeplus-$ID$').css({'background-position':'0 20px'});}
 + $.get('/photo/1-1-$ID$-13-1',function(data) {if($(data).text().indexOf('уже оценивали')>-1){ _uWnd.alert('Вы уже оценивали данную фотографию!','Спасибо за оценку',{w:250,h:85,t:8000}); } else { _uWnd.alert('Спасибо за оценку фотографии!','Вы успешно оценили',{w:260,h:70,t:8000})};});">
 </div></div>
 <?if($RATED$)>0?><div class="likex">+$RATED$</div><?endif?>
     
 <script type="text/javascript">
 function is_rate(id){
 if($('#is_rate-'+id+' li').size() == 1){$('#likeplus-'+id).css({'background-position':'0 20px'});}
 };is_rate($ID$);
 </script>
     
 <?else?>
 <div class="likepos" id="likepos">
<div class="like_nologin" title="Мне нравится!" onclick="rating();">
</div></div>
<?if($RATED$)>0?><div class="likex_nologin">+$RATED$</div><?endif?>
 
<?endif?>

Re: CSS и Java Script - изменение фоновой картинки

Fearfire » » Сообщение:

Admin писал(а) › 13 июн 2016, 23:27:Как-то так:

Да, спасибо, после клика фон меняется, только эта часть скрипта не меняет фон если оценивали...

script Код: Выделить всё Развернуть
<script type="text/javascript">
 function is_rate(id){
 if($('#is_rate-'+id+' li').size() == 1){$('#likeplus-'+id).css({'background-position':'0 20px'});}
 };is_rate($ID$);
 </script>

Пред.След.



Похожие темыКомментарии ПросмотрыПоследнее сообщение
01268Сброс настроек кук, изменение настр...
Сообщение от: Admin
0529Изменение диапазона поиска для Акти...
Сообщение от: Admin
0766PictureResize - Пакетное изменение ...
Сообщение от: Admin
0719Изменение пользовательских настроек...
Сообщение от: Admin
02232Предпросмотр картинки перед загрузк...
Сообщение от: Admin