Просмотр полной версии : Показывать блок везде, кроме определенной страницы
sashgera
18.03.2015, 22:43
Здравствуйте
Есть всплывающий див
<div id="block"></div>
чтобы не показывать этот див на конкретной странице, например test.html, можно сделать так:
<script type="text/javascript">
$(document).ready(function(){
$("#block").hide();
});
</script>
а как сделать условие в коде самого дива, чтобы всплывающий блок показывался везде, кроме страницы test.html
пожалуйста, помогите
Он что автоматом показывается при загрузке страниц?
sashgera
18.03.2015, 23:31
Он что автоматом показывается при загрузке страниц?
отсылает куки и в следующий раз через 12 часов
Ну тогда, что-то такое:
if(!/test/.test(location)) {
//действия определяющие показ
}
Конечно в том случае, если имя скрипта test уникально, например нет каталога с таким же именем.
sashgera
19.03.2015, 01:28
laimas, сделал так, но див показывается на всех страницах, включая страницу test.html
<script type="text/javascript">
if(!/test/.test(location)) {
$(document).ready(function(){
$("#block").hide();
});
}
</script>
<div id="block" style="width:300px; height:200px; background-color:#999;">
</div>
я наверное не правильно все объяснил, пишу подробнее
сайт на joomla, в модуле див:
<div id="block" style="width:300px; height:200px; background-color:#999;">
</div>
этот блок показывается на всех страницах
нужно чтобы на конкретной странице - www.mysite.ru/test.html этот блок не показывался
в joomla можно выбрать, на каких страницах показывать модуль, но мне это не подходит, нужно условие что то типа:
if (test.html) //не знаю как сделать условие
{
$("#block").hide();
}
else
{
$("#block").show();
};
Лучше так, и не $(document).ready в условии, а условие $(document).ready:
<script>
$(function() {
if(!location.href.match(/name_file/)) {
//........
}
});
</script>
А джумла или нет, рояли не играет.
sashgera
19.03.2015, 02:46
laimas, что-то я делаю не так:
<script type="text/javascript">
$(document).ready(function(){
$(function() {
if(!location.href.match(/test.html/)) {
$("#block").hide();
}
});
});
</script>
<div id="block" style="width:300px; height:200px; background-color:#999;">
</div>
в итоге: на странице test.html див показывается, а на других страницах - нет (нужно наоборот)
меняю
$("#block").hide();
на
$("#block").show();
див показывается на всех страницах
Уберите расширение файла из выражения (.html), зачем его проверять, оно у вас что меняются?
if(!location.href.match(/test/)) $("#block").show();
или
if(location.href.match(/test/)) $("#block").hide();
sashgera
19.03.2015, 12:21
laimas, спасибо, если так, то блок на странице test.html не показывается
if(location.href.match(/test/)) $("#block").hide();
но также блок не показывается на страницах tes.html или test2.html
подскажите, как сделать точное совпадение?
Вы читали внимательно?
Конечно в том случае, если имя скрипта test уникально, например нет каталога с таким же именем.
Вы указываете в примере одно имя, а я что должен догадаться еще и о вариациях? Надо же было ...
Замените выражение /test/ на /test\d*/
Вы что "метите" таким образом страницы, которые отладить надо?\
Фу ты блин, надо же наоборот не реагировать.
sashgera
19.03.2015, 13:08
laimas, работает
/test\.h/
большое спасибо!
vBulletin® v3.6.7, Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot