Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.03.2015, 22:43
Кандидат Javascript-наук
Отправить личное сообщение для sashgera Посмотреть профиль Найти все сообщения от sashgera
 
Регистрация: 20.09.2011
Сообщений: 140

Показывать блок везде, кроме определенной страницы
Здравствуйте
Есть всплывающий див
<div id="block"></div>

чтобы не показывать этот див на конкретной странице, например test.html, можно сделать так:
<script type="text/javascript">
 $(document).ready(function(){  
   $("#block").hide();
});
</script>

а как сделать условие в коде самого дива, чтобы всплывающий блок показывался везде, кроме страницы test.html

пожалуйста, помогите
Ответить с цитированием
  #2 (permalink)  
Старый 18.03.2015, 23:22
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Он что автоматом показывается при загрузке страниц?
Ответить с цитированием
  #3 (permalink)  
Старый 18.03.2015, 23:31
Кандидат Javascript-наук
Отправить личное сообщение для sashgera Посмотреть профиль Найти все сообщения от sashgera
 
Регистрация: 20.09.2011
Сообщений: 140

Сообщение от laimas Посмотреть сообщение
Он что автоматом показывается при загрузке страниц?
отсылает куки и в следующий раз через 12 часов
Ответить с цитированием
  #4 (permalink)  
Старый 19.03.2015, 00:24
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Ну тогда, что-то такое:

if(!/test/.test(location)) {
   //действия определяющие показ 
}


Конечно в том случае, если имя скрипта test уникально, например нет каталога с таким же именем.
Ответить с цитированием
  #5 (permalink)  
Старый 19.03.2015, 01:28
Кандидат Javascript-наук
Отправить личное сообщение для sashgera Посмотреть профиль Найти все сообщения от sashgera
 
Регистрация: 20.09.2011
Сообщений: 140

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();
};

Последний раз редактировалось sashgera, 19.03.2015 в 01:48.
Ответить с цитированием
  #6 (permalink)  
Старый 19.03.2015, 02:10
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Лучше так, и не $(document).ready в условии, а условие $(document).ready:

<script> 
$(function() {
    if(!location.href.match(/name_file/)) {
        //........
    }
});
</script>


А джумла или нет, рояли не играет.
Ответить с цитированием
  #7 (permalink)  
Старый 19.03.2015, 02:46
Кандидат Javascript-наук
Отправить личное сообщение для sashgera Посмотреть профиль Найти все сообщения от sashgera
 
Регистрация: 20.09.2011
Сообщений: 140

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();

див показывается на всех страницах
Ответить с цитированием
  #8 (permalink)  
Старый 19.03.2015, 04:53
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Уберите расширение файла из выражения (.html), зачем его проверять, оно у вас что меняются?

if(!location.href.match(/test/)) $("#block").show();

или

if(location.href.match(/test/)) $("#block").hide();
Ответить с цитированием
  #9 (permalink)  
Старый 19.03.2015, 12:21
Кандидат Javascript-наук
Отправить личное сообщение для sashgera Посмотреть профиль Найти все сообщения от sashgera
 
Регистрация: 20.09.2011
Сообщений: 140

laimas, спасибо, если так, то блок на странице test.html не показывается
if(location.href.match(/test/)) $("#block").hide();

но также блок не показывается на страницах tes.html или test2.html
подскажите, как сделать точное совпадение?
Ответить с цитированием
  #10 (permalink)  
Старый 19.03.2015, 12:31
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Вы читали внимательно?

Конечно в том случае, если имя скрипта test уникально, например нет каталога с таким же именем.

Вы указываете в примере одно имя, а я что должен догадаться еще и о вариациях? Надо же было ...

Замените выражение /test/ на /test\d*/

Вы что "метите" таким образом страницы, которые отладить надо?\

Фу ты блин, надо же наоборот не реагировать.

Последний раз редактировалось laimas, 19.03.2015 в 12:38.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Автообновление определенной части страницы Вадим Владимирович Мобильный JavaScript 5 29.11.2012 06:28
Как сделать блок, исчезающий вверху страницы? TRos Элементы интерфейса 7 12.04.2012 08:59
условие определенной страницы jQuery makingpretty jQuery 0 22.06.2011 11:17
Отрыть DIV блок при переходе с другой страницы BuTbka Общие вопросы Javascript 7 08.04.2009 22:59
Показывать блок только определенным IP адресам vovangr Общие вопросы Javascript 4 18.09.2008 14:27