Javascript-форум (https://javascript.ru/forum/)
-   Ваши сайты и скрипты (https://javascript.ru/forum/project/)
-   -   Скрипт вывода разных блоков DIV в зависимости от страницы, на которой находимся (https://javascript.ru/forum/project/33759-skript-vyvoda-raznykh-blokov-div-v-zavisimosti-ot-stranicy-na-kotorojj-nakhodimsya.html)

TSM 07.12.2012 07:14

Скрипт вывода разных блоков DIV в зависимости от страницы, на которой находимся
 
Нашол скрипт вывода разных блоков DIV в зависимости от страницы, на которой находимся, но работает только для одного блока и одной страницы.
Подскажите как изменить его, чтобы <div id="dyvan"> показывался на странице http://www.frankof.com.ua/katalog-dyvaniv
а <div id="lijko"> показывался на странице
http://www.frankof.com.ua/Mjaki-lihzhka-ta-matracy


<script type = "text/javascript">

function showDiv() {
var url = window.location.href;
if (/(katalog-dyvaniv)/i.test(url)) {
document.getElementById("lijko").style.display="none";
}
else {
document.getElementById("lijko").style.display="block";
}
}
</script>



<div id="dyvan">
Инфа о диванах
</div>

<div id="lijko">
Инфа о кроватях
</div>


Пробовал добавить два скрипта на одну страницу:

<script type = "text/javascript">

function showDiv() {
var url = window.location.href;
if (/(katalog-dyvaniv)/i.test(url)) {
document.getElementById("lijko").style.display="none";
}
else {
document.getElementById("lijko").style.display="block";
}
}
</script>


и

<script type = "text/javascript">

function showDiv() {
var url = window.location.href;
if (/(Mjaki-lihzhka-ta-matracy)/i.test(url)) {
document.getElementById("dyvan").style.display="none";
}
else {
document.getElementById("dyvan").style.display="block";
}
}
</script>


Так не работает.
Но если эти скрипты каждый на отдельной странице, то работают условия.
Мне нужно эти скрипты объединить, чтобы запихнуть на одну страницу одним кодом.

Может объявить массивы, и тогда на них ссылаться?


Примечение: в программировании я новичок, хотелось бы готовое решение если вас не затруднит.

DmitryK1 07.12.2012 07:45

назови их showDiv1 и showDiv2 и вызывай по очереди.

Или не по очереди, а сделай
function showDiv()
{
showDiv1();
showDiv1();

}

TSM 07.12.2012 07:53

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

TSM 07.12.2012 07:56

:no: блин понятия не имею, что далеше делать

TSM 07.12.2012 07:59

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title> New Document </title>
<meta name="Generator" content="EditPlus">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">

<body>
<script type = "text/javascript">

function showDiv1() {
var url = window.location.href;
if (/(PageName2)/i.test(url)) {
document.getElementById("dyvan").style.display="no ne";
}
else {
document.getElementById("dyvan").style.display="bl ock";
}
}

function showDiv2() {
var url = window.location.href;
if (/(PageName1)/i.test(url)) {
document.getElementById("lijko").style.display="no ne";
}
else {
document.getElementById("lijko").style.display="bl ock";
}
}

</script>
</head>



<body onload = "showDiv()" >
<body onload = "showDiv1()" >


<div id="dyvan">
dyvan
</div>

<div id="lijko">
lijko
</div>


</body>
</html>

так что ли?

TSM 07.12.2012 10:03

никто не поможет?

ОлегА 07.12.2012 10:18

Вот так попробуй

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title> New Document </title>
<meta name="Generator" content="EditPlus">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">

<body>
<script type = "text/javascript">

function showDiv1() {
    alert(1)
var url = window.location.href;
if (/(PageName2)/i.test(url)) {
document.getElementById("dyvan").style.display="none";
}
else {
document.getElementById("dyvan").style.display="block";
}
}

function showDiv2() {
    alert(2)
var url = window.location.href;
if (/(PageName1)/i.test(url)) {
document.getElementById("lijko").style.display="none";
}
else {
document.getElementById("lijko").style.display="block";
}
}

function showDiv(){
    showDiv1();
    showDiv2();
}

</script>
</head>



<body onload = "showDiv()" >


<div id="dyvan">
dyvan
</div>

<div id="lijko">
lijko
</div>


</body>
</html>

TSM 07.12.2012 10:50

Так работает, спасибо! А как без Алертов? Чтобы они не выскакивали. Или чтобы выскакивали но доли секунду видимы были.

ОлегА 07.12.2012 11:11

ну так убери их с кода, это я тестил)))

TSM 07.12.2012 11:23

без алертов не работает


Часовой пояс GMT +3, время: 17:10.