Изменение бэкграунда страницы
На странице присутствует элемент для переключения бэкграунда страницы
![]() html-код <div id="selectBackground"> <p>Select bg</p> <ul> <li><a href="javascript:void(0)" class="active"></a></li> <li><a href="javascript:void(0)"></a></li> <li><a href="javascript:void(0)"></a></li> </ul> </div> <!-- /selectBackground--> css #selectBackground ul li a{ background: url('../images/select_bg_unactive.png') no-repeat; display: block; width: 16px; height: 16px; } #selectBackground ul li a.active{ background: url('../images/select_bg_active.png') no-repeat; } пока к элементу сделан скрипт, который меняет класс у активного пункта <script type="text/javascript" src="script/jquery-1.8.2.min.js"></script> <script type="text/javascript"> $(function() { <!-- Select background --> $("#selectBackground ul li a").click(function(e) { e.preventDefault(); $("#selectBackground ul li a").removeClass('active'); $(this).addClass('active'); }); }); </script> подскажите, как еще добавить к переключению изменение бэкграунда сайта в зависимости от выбранного пункта? |
В общем, пока сделано так
в списке ссылок к каждой ссылке добавлен свой id <div id="selectBackground"> <p>Select bg</p> <ul> <li><a href="javascript:void(0)" class="active" id="bg1"></a></li> <li><a href="javascript:void(0)" id="bg2"></a></li> <li><a href="javascript:void(0)" id="bg3"></a></li> </ul> </div> а к диву, у которого нужно изменить бэкграунд, добавлен класс <div id="wrapper" class="background1"></div> для каждого класса прописано стилевое свойство #wrapper { margin: 0 auto; width: 1024px; height: 1552px; } .background1 { background: url('../images/main1_background.png') no-repeat; } .background2 { /*background: red;*/ background: url('../images/main2_background.png') no-repeat; } .background3 { /*background: yellow;*/ background: url('../images/main3_background.png') no-repeat; } скрипт <script type="text/javascript" src="script/jquery-1.8.2.min.js"></script> <script type="text/javascript"> $(function() { <!-- Select background --> $("#selectBackground ul li a").click(function(e) { e.preventDefault(); $("#selectBackground ul li a").removeClass('active'); $(this).addClass('active'); var clickId = this.id; var i = clickId.charAt(2) var str = "background" + i; $("#wrapper").attr("class", str); }); }); </script> замечания всячески приветствуются :) |
можно добавить к ссылке data-аттрибут, допустим data-background
потом присваиваешь при клике: var bgImage = $(this).data("background"); $("#wrapper").css("background-image", bgImage); не помню точно, так ли прописывается первый аргумент в методе css.. |
Часовой пояс GMT +3, время: 12:40. |