Вывод баннера при выполнении условия
День добрый. Подскажите, где ошибка в коде условия?
Цель: При соответствии 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, время: 00:10. |