
16.01.2017, 12:01
|
Интересующийся
|
|
Регистрация: 01.10.2016
Сообщений: 11
|
|
Как сделать смену цвета текста по скрипту?
Здравствуйте, есть фиксированное меню, и сайт состоящий из секций , нужно при переходе по секциям сделать смену цвета текста меню.
https://jsfiddle.net/NisXan/s3mo11x1/2/
Пробовал так но не работает скрипт, вообще не меняется стиль.
if (window.location.pathname == '/#1' || window.location.pathname == '/#3' || window.location.pathname == '/#5'|| window.location.pathname == ''|| window.location.pathname == '/'|| window.location.pathname == '/index.php')
{
$(".sp-module ul >li >a").css("color", "#000")
}
else {
$(".sp-module ul >li >a").css("color", "#fff")
}
Секции по фону чередуются, поэтому на #1, #3 и #5 цвет текста меню должен быть белым, а на #2, #4 и #6 соответственно черный
Последний раз редактировалось Nisxan, 16.01.2017 в 12:47.
|
|

16.01.2017, 13:58
|
 |
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,245
|
|
Nisxan, ты в состоянии сделать минимальный тестовый пример и выложить его тут?
|
|

16.01.2017, 15:37
|
Интересующийся
|
|
Регистрация: 01.10.2016
Сообщений: 11
|
|
|
|

16.01.2017, 15:50
|
 |
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,245
|
|
Сообщение от Nisxan
|
нужно при переходе по секциям сделать смену цвета текста меню
|
Что есть "переход по секциям"?
|
|

16.01.2017, 16:04
|
Профессор
|
|
Регистрация: 27.11.2015
Сообщений: 2,899
|
|
Nisxan,
1. а где библиотека jQuery?
2. по какому поводу сработает ваш скрипт?
|
|

16.01.2017, 16:09
|
Профессор
|
|
Регистрация: 27.11.2015
Сообщений: 2,899
|
|
ksa,
Сообщение от ksa
|
Что есть "переход по секциям"?
|
Например,
<a href="#section1">Главная</a>
Это как раз работает
|
|

16.01.2017, 16:14
|
 |
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,245
|
|
Т.е. клацанье по ссылкам и загрузка с хешем...
Как вариант.
<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<script src='http://code.jquery.com/jquery-latest.js'></script>
<!--
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
-->
<style type='text/css'>
#right-menu {
position: absolute;
float: right;
margin-left: 15px;
width: 100%;
}
.sp-module {
right: 20px;
float: right;
position: fixed;
top: 35%;
}
.sp-module ul {
list-style: none;
padding: 0;
margin: 0;
}
.sp-module ul >li {
display: block;
-webkit-transition: 300ms;
transition: 300ms;
}
.sp-module ul >li >a {
color: #fff;
display: block;
-webkit-transition: 300ms;
transition: 300ms;
font-weight: bold;
}
section {
z-index: 1;
height: 100vh;
width: 100%;
height: 100vh;
bottom: 0;
}
.sppb-section {
padding-top: 25%;
}
.sppb-section p {
width: 80%;
margin-left: 15px;
}
#section1,
#section3,
#section5 {
background-color: #000;
color: #fff;
}
#section2,
#section4,
#section6 {
background-color: #fff;
}
.sp-module ul >li >a.on {
color: green;
}
</style>
<script type='text/javascript'>
$(function(){
var hash=window.location.hash
$(".sp-module a[href='"+hash+"']").addClass('on');
$(".sp-module a").click(function(){
$('.sp-module a.on').removeClass('on');
$(this).addClass('on');
});
});
</script>
</script>
</head>
<body>
<div id="right-menu">
<div class="sp-module">
<ul class="sp-module" data-uk-scrollspy-nav="{closest: 'li', smoothscroll:{offset: 0}}">
<li><a href="#section1">Главная</a></li>
<li><a href="#section2">Услуги</a></li>
<li><a href="#section3">Работы</a></li>
<li><a href="#section4">Цены</a></li>
<li><a href="#section5">Блог</a></li>
<li><a href="#section6">Контакты</a></li>
</ul>
</div>
</div>
<div class="page-content">
<section id="section1" class="sppb-section">
<p>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Accusantium placeat nulla ad eum ex aliquam, ipsa facilis consequatur hic aspernatur quae dolor molestias nobis commodi corrupti, eaque unde, rerum velit.
</p>
</section>
<section id="section2" class="sppb-section">
<p>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Accusantium placeat nulla ad eum ex aliquam, ipsa facilis consequatur hic aspernatur quae dolor molestias nobis commodi corrupti, eaque unde, rerum velit.
</p>
</section>
<section id="section3" class="sppb-section">
<p>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Accusantium placeat nulla ad eum ex aliquam, ipsa facilis consequatur hic aspernatur quae dolor molestias nobis commodi corrupti, eaque unde, rerum velit.
</p>
</section>
<section id="section4" class="sppb-section">
<p>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Accusantium placeat nulla ad eum ex aliquam, ipsa facilis consequatur hic aspernatur quae dolor molestias nobis commodi corrupti, eaque unde, rerum velit.
</p>
</section>
<section id="section5" class="sppb-section">
<p>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Accusantium placeat nulla ad eum ex aliquam, ipsa facilis consequatur hic aspernatur quae dolor molestias nobis commodi corrupti, eaque unde, rerum velit.
</p>
</section>
<section id="section6" class="sppb-section">
<p>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Accusantium placeat nulla ad eum ex aliquam, ipsa facilis consequatur hic aspernatur quae dolor molestias nobis commodi corrupti, eaque unde, rerum velit.
</p>
</section>
<div>
</body>
</html>
|
|

16.01.2017, 16:15
|
 |
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,245
|
|
P.S.
CSS у автора конечно капец! 
|
|

16.01.2017, 16:23
|
Профессор
|
|
Регистрация: 27.11.2015
Сообщений: 2,899
|
|
ksa,
И переключать, мне кажется, нужно все пункты списка. А то на белом фоне они исчезают. Текущий, может, и стоит делать зеленым (или каким хочется), а остальные - цветом, противоположным фону.
|
|

16.01.2017, 16:46
|
 |
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,245
|
|
Сообщение от Dilettante_Pro
|
И переключать, мне кажется, нужно все пункты списка. А то на белом фоне они исчезают.
|
Это уже пусть ТС думает как ему все это оформлять... 
|
|
|
|