Вывод баннера при выполнении условия
День добрый. Подскажите, где ошибка в коде условия?
Цель: При соответствии url выводится баннер в определенной товарной категории, в сайдбаре. То есть, к примеру если url страницы содержит директорию /zakrepochnye-mashiny, то для div с id="TestTest", менять display: none на display: block. Код ниже выполняет замену display:none на block, но во всех категориях, то есть баннер сквозной получается <div id="TestTest" style="display: none; background-color: #333; height: 200px"> </div> <script> if(window.location.pathname.indexOf('zakrepochnye-mashiny')) { var foo = document.getElementById("TestTest"); if(foo) { foo.style.display = 'block'; } } </script> |
Ошибка в том, что блоки у вас отражаются при условии, что существует блок с ID "TestTest". А так как он, очевидно, всегда существует, то и блок будет отображаться тоже всегда.
Так будет правильнее:
<div id="TestTest" style="display: none; background-color: #333; height: 200px">
</div>
<script>
if(window.location.pathname.indexOf('zakrepochnye-mashiny')) {
var foo = document.getElementById("TestTest");
foo.style.display = 'block';
}
</script>
|
Чет все равно, не хочет работать как надо
|
DenisReva,
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<div id="TestTest" style="display: none; background-color: #333; height: 200px">
</div>
<script>
if(window.location.pathname.indexOf('TestTest') > -1) {
var foo = document.getElementById("TestTest");
foo.style.display = 'block';
}
</script>
</body>
</html>
|
Условие проверки наличия директории в URL всегда true, почему то
|
DenisReva,
Хм, у меня работает корректно, не получается получить такую проблему... Протестировал в Хроме и Мозилла. |
c > -1, работает) правда не понял в чем смысл, длина строки больше -1?
|
|
Цитата:
|
| Часовой пояс GMT +3, время: 20:47. |