Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Смена фона div'а (https://javascript.ru/forum/misc/27161-smena-fona-div%27.html)

hell100 04.04.2012 14:14

Смена фона div'а
 
Всем привет, как дела ? )
Нужна ваша помощь, есть такой вот div:
<div id="logo"></div>

в #logo я добавил фон, т.е. логотип сайта, суть в том, что у меня на сайте есть переводчик на ajax'е, и перевод страницы происходит без обновлении страницы, нужно сделать для вот этой ссылки:
<a href="javascript://" id="en" class="land">en</a>

onclick, который будет сменить фон div'а если нажать на нее, как сделать ? jquery ?

Pavel M. 04.04.2012 14:52

лучше заведите класс для другого фона и меняйте его по клику
для быстроты сделано на jquery
<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
<meta charset=utf-8 />
<title>test</title>
<style>
  #logo {
    width: 100px;
    height: 100px;
    border: 1px solid;
    background: url(http://placehold.it/100/00ff00/ffffff) no-repeat; /* фон по умолчанию */
  }
  #logo.en {
    background-image: url(http://placehold.it/100/ffffff/00ff00); 
  }
</style>
  
<script>
  $(function () { // ждем загрузку dom
    
    $('#en').click(function () { // по клику на элементе c id = 'en'
      $('#logo').toggleClass('en'); // добавляем или удаляем класс en
      return false;
    });

  });
</script>  
</head>
<body>
  <a href="#" id="en">en</a>
  <div id="logo"></div>
</body>
</html>

hell100 04.04.2012 15:25

Pavel M., хорошо, спасибо!

fijiisland 24.05.2012 17:47

Здравствуйте, помогите пожалуйста начинающему.
При загрузке страницы цвет блоков меняется таким скриптом:

$(document).ready(function(){
  var colors = ["#ffc502","#99ff00","#fff"];                
  var rand = Math.floor(Math.random()*colors.length);           
  $('.myDiv').css("background-color", colors[rand]);
  
});


Подскажите, пожалуйста, как делать тоже самое, но не с hex'ами а с бекграунд картинками? Самому никак не получается, что-то путаю либо с синтаксисом либо с функцией

$(document).ready(function(){
  var colors = ["01.png","02.png,"03.png"];                
  var rand = Math.floor(Math.random()*colors.length);           
  $('.myDiv).css("background-image", url "(colors[rand])");
  
});

bes 24.05.2012 18:18

<body>

<script>
window.onload = function () {
  var img = [
   "http://javascript.ru/forum/images/ca_serenity/misc/logo.gif",    
   "http://javascript.ru/forum/image.php?u=19820&dateline=1334914235", 
   "http://javascript.ru/img/webstorm.png"
  ];
  var dif = Math.round(2*Math.random());
  document.body.style.backgroundImage = 'url('+ img[dif] +')';
}
</script>

Deff 25.05.2012 11:57

Цитата:

Сообщение от fijiisland (Сообщение 176396)
Здравствуйте, помогите пожалуйста

Эту строку поменять:
$('.myDiv).css("background-image", url "(colors[rand])");
Заменить на такой формат
$('.myDiv).css({"background-image": url "(colors[rand])"});


Часовой пояс GMT +3, время: 14:06.